Usm*_*han 6 android android-alertdialog
我正在开发一个Android应用程序,我想在其中设置对话框的文本大小.我使用以下代码和XML进行textview,但它只设置我的字段的大小.我也想设置标题的文字大小和颜色.
final CharSequence[] items = { "Fake Request", "Abusive Language","Indecent Approach","Unacceptable Attitude","Dangerous Behavior",};
ArrayAdapter<CharSequence> itemsAdapter = new
ArrayAdapter<CharSequence> (this,
R.layout.menu_items, items);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("My Title");
builder.setIcon(R.drawable.icon);
builder.setAdapter(itemsAdapter, new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int item) {
switch(item) {
case 0:
//Mark as Beautiful
break;
case 1:
//Mark as Beautiful
break;
case 2:
//Mark as Not a Portrait
break;
case 3:
//Mark as Offensive
break;
case 4:
//Mark as Spam
break;
case 5:
//cancel
break;
}
}
}
);
builder.show();
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip"
android:layout_margin="5dip"
android:gravity="center_vertical"
android:textSize="5dip"
android:textColor="@color/red_theme"
android:typeface="normal"
android:lineSpacingExtra="0dip"/>
Run Code Online (Sandbox Code Playgroud)
使用自定义标题builder.setCustomTitle(textView)来设置标题的大小和颜色。
AlertDialog.Builder builder = new AlertDialog.Builder(context);
TextView title = new TextView(context);
title.setText("Title");
title.setBackgroundResource(R.drawable.gradient);
title.setPadding(10, 10, 10, 10);
title.setGravity(Gravity.CENTER);
title.setTextColor(getResources().getColor(R.color.green));
title.setTextSize(22);
builder.setCustomTitle(title);
builder.setMessage("Message");
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setNegativeButton(R.string.no, null);
AlertDialog dialog = builder.show();
messageView = (TextView)dialog.findViewById(android.R.id.message);
messageView.setGravity(Gravity.CENTER);
dialog.show();
Run Code Online (Sandbox Code Playgroud)
小智 5
//Use this code
TextView myMsg = new TextView(this);
myMsg.setText("Succesfully send!");
myMsg.setGravity(Gravity.CENTER_HORIZONTAL);
myMsg.setTextSize(20);
myMsg.setTextColor(Color.WHITE);
//set custom title
builder.setCustomTitle(myMsg);
Run Code Online (Sandbox Code Playgroud)
如果要使用样式来完成所有操作:
<style name="MyDialog" parent="Base.Theme.AppCompat.Light.Dialog">
<item name="android:windowTitleStyle">@style/DialogTitle</item>
</style>
<style name="DialogTitle" parent="TextAppearance.AppCompat.Large">
<item name="android:textSize">18sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
并像这样创建对话框
new AlertDialog.Builder(this, R.style.MyDialog);
Run Code Online (Sandbox Code Playgroud)
为了达成这个:
做到以上几点你就可以实现你的定制了。
您可以使用以下示例:
http://www.mkyong.com/android/android-custom-dialog-example/ http://www.edumobile.org/android/android-development/custom-listview-in-a-dialog-in-android/
我希望它对你有帮助。
| 归档时间: |
|
| 查看次数: |
12951 次 |
| 最近记录: |