Android AlertDialog框架(能自用改变字体颜色)

来源:互联网 发布:sql注入靶机 编辑:程序博客网 时间:2024/06/15 02:01

这个AlertDialog框架能够自由改变字体颜色,这个很关键,因为AlertDialog按钮字体的颜色是根据style.xml之中colorAccent属性的值来定的,以至于可能字体颜色是白色,或者因为布局限制了colorAccent的值。虽然网上也有通过反射来做到改变按钮字体颜色,说到底还是有些麻烦,这个框架使用还是很简单的。

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    public void confirmDialog(View view) {        new NDialog(this)                .setTitle("我是标题")                .setTitleColor(Color.parseColor("#00c8aa"))                .setTitleSize(18)                .setTitleCenter(false)                .setMessageCenter(false)                .setMessage("我是meaasge")                .setMessageSize(16)                .setMessageColor(Color.parseColor("#00ff00"))                .setNegativeTextColor(Color.parseColor("#000000"))                .setPositiveTextColor(Color.parseColor("#ff0000"))                .setButtonCenter(false)                .setButtonSize(14)                .setCancleable(true)                .setOnConfirmListener(new NDialog.OnConfirmListener() {                    @Override                    public void onClick(int which) {                        //which,0代表NegativeButton,1代表PositiveButton                        Toast.makeText(MainActivity.this, "点击了::" + which, Toast.LENGTH_SHORT).show();                    }                }).create(NDialog.CONFIRM).show();    }    public void intputDialog(View view) {        new NDialog(this).setTitle("请输入。。。")                .setInputHintText("hint")                .setInputHintTextColor(Color.parseColor("#c1c1c1"))                .setInputText("")                .setInputTextColor(Color.parseColor("#333333"))                .setInputTextSize(14)                .setInputType(InputType.TYPE_CLASS_TEXT)                .setInputLineColor(Color.parseColor("#00ff00"))                .setPositiveButtonText("确定")                .setNegativeButtonText("取消")                .setNegativeTextColor(Color.parseColor("#c1c1c1"))                .setOnInputListener(new NDialog.OnInputListener() {                    @Override                    public void onClick(String inputText, int which) {                        //which,0代表NegativeButton,1代表PositiveButton                        Toast.makeText(MainActivity.this, "输入了::" + inputText, Toast.LENGTH_SHORT).show();                    }                }).create(NDialog.INPUT).show();    }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"   >    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="confirmDialog"        android:text="确认提示框" />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="intputDialog"        android:text="输入框" /></LinearLayout>

支持的属性:
属性 描述
NDialog.CONFIRM 构建确认提示弹窗
NDialog.INPUT 构建输入弹窗
NDialog.CHOICE 构建选择弹窗
positiveButtonText positive按钮文本
positiveTextColor positive按钮文本颜色
negativeButtonText negative按钮文本
negativeTextColor negative按钮文本颜色
buttonSize positive和negative按钮大小
isButtonCenter positive和negative按钮是否居中
message 确认提示弹窗message文本
messageSize 确认提示弹窗message字体大小
messageColor 确认提示弹窗message字体颜色
isMessageCenter 确认提示弹窗message是否居中
title title文本
titleSize positive文本大小
titleColor title文本颜色
isTitleCenter title是否居中
inputText 输入框预输入文本
inputTextSize 输入框预输入文本字体大小
inputTextColor 输入框预输入文本字体颜色
inputHintText 输入框hint
inputHintTextColor 输入框hint文本字体颜色
inputType 输入框输入类型
hasDivider 选择框是否要分割线
dividerHeigh 选择框分割线高度
dividerColor 选择框分割线颜色
items 选择框选择的item
itemColor 选择框item字体颜色
itemSize 选择框item字体大小
itemGravity 选择框item位置
itemHeigh 选择框item高度
cancleable 弹窗是否可取消

介绍结束了,下次再见。

阅读全文
0 0
原创粉丝点击