您的位置:首页 > 移动开发 > Android开发

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

2017-09-03 21:11 465 查看
这个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 弹窗是否可取消

介绍结束了,下次再见。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: