2015-02-21 4 views
4

Я работаю над приложением Android, в котором я хочу установить размер текста моего диалогового окна. Я использовал следующий код XML для textview, но он устанавливает только размер моих полей. Я хочу также задать размер текста и цвет моего названия.Размер текста заголовка диалогового окна в Android

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"/> 
+0

Вы можете использовать настраиваемое текстовое окно и надуть диалоговое окно. –

+0

Не могли бы вы показать мне пример кода для этого. –

+1

Вы хотите изменить цвет заголовка, размер или тело диалога? –

ответ

2

Вам просто нужно создать пользовательский диалог, чтобы контролировать его заголовок, содержимое и все вокруг вашего диалога. Следуйте за этим link

, или следовать этому link

, или просто сделать исследование в Google с текстом «андроид диалоговым названием» или «андроид создать пользовательский диалог»

0

Для достижения этой цели:

  1. Создание XML с просмотра списка
  2. Inflate что посмотреть с Inflater
  3. Set пользовательский вид в AndroidBuilder
  4. Используйте специальный адаптер для раздувания строки в списке.

Выполнение вышеуказанного пункта вы достигнете своей настройки.

Вы можете использовать ниже пример для таких же:

http://www.mkyong.com/android/android-custom-dialog-example/ http://www.edumobile.org/android/android-development/custom-listview-in-a-dialog-in-android/

Я надеюсь, что это поможет вам.

3
//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); 
+0

Это было приятно и легко. идеально, когда вам не нужны дополнительные накладные расходы при создании макета. –

1

Создайте пользовательскую тему для диалога в Style.xml и примените ее к диалогу.

Пример Тема:

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog"> 
     <item name="android:bottomBright">@color/white</item> 
     <item name="android:bottomDark">@color/white</item> 
     <item name="android:bottomMedium">@color/white</item> 
     <item name="android:textSize">10</item> 
     <item name="android:centerBright">@color/white</item> 
     <item name="android:centerDark">@color/white</item> 
     <item name="android:centerMedium">@color/white</item> 
     <item name="android:fullBright">@color/orange</item> 
     <item name="android:fullDark">@color/orange</item> 
     <item name="android:topBright">@color/blue</item> 
     <item name="android:topDark">@color/blue</item> 
    </style> 

И в вас Код:

AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.CustomDialogTheme); 
0

Использовать пользовательский заголовок с помощью 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(); 
0

Это самый простой способ

Настроить TextView первый,

TextView dialogTitle = new TextView(getApplicationContext()); 
dialogTitle.setText("Your Title Text"); 
dialogTitle.setTextColor(getResources().getColor(R.color.your_color)); 
dialogTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP,20); 

Затем написать

builder.setCustomTitle(dialogTitle); 

вместо

builder.setTitle("My title"); 

Выполнено!

Смежные вопросы