Android: Как настроить AlertDialog, диалоговые окна и заголовки Spinner


Я хочу настроить все диалоги, alertDialogs и spinner. Я хочу изменить цвет текста и фон строки заголовка.

Введите описание изображения здесь

Я пытаюсь объяснить лучше.: Мне нужен текст (JOLLY BAR DI ...) должен быть белым, а фон заголовка (от верхней части диалогового окна до мягкой синей линии под заголовком) - синим (#044592).

Как я могу это сделать?

1 3

1 ответ:

Хорошо, я почти решил проблему (я отвечаю на свой собственный вопрос, потому что это может помочь другим с той же проблемой, что и моя). Проблема остается за спиннерами, Датепикерами и т. д.

Для AlertDialogs я делаю что-то вроде этого:

AlertDialog.Builder builder = new AlertDialog.Builder(MyActivity.this, AlertDialog.THEME_HOLO_LIGHT);
//Then I do what I need with the builder (except for setTitle();
LayoutInflater inflater = getLayoutInflater();
View view=inflater.inflate(R.layout.dialog_custom_title, null);
TextView title = (TextView)view.findViewById(R.id.myTitle);
title.setText("Title I want to show");
builder.setCustomTitle(view);
AlertDialog alert = builder.create();
alert.show();

Dialog_custom_titile.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#044592" >

   <TextView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/myTitle"
        android:layout_width="fill_parent"
        android:textSize="20dp"
        android:layout_height="70dp"
        android:layout_marginLeft="25dp"
        android:paddingTop="22dp"
        android:textColor="@android:color/white"
        android:textStyle="bold" />

</RelativeLayout>

Для действий, которые я хочу выглядеть как диалоги, я делаю так:: Я объявляю их в Манифесте.xml следующим образом:

<activity
     android:name="com.aveschini.AnotherActivity"
     android:screenOrientation="portrait"
     android:label="My Dialog"
     android:theme="@style/MyDialog"
     android:windowSoftInputMode="adjustPan" />

Затем в res / values / styles.xml файл мне нравится это:

    <style name="AppTheme" parent="android:Theme.Holo.Light" />

    <style name="MyDialog" parent="android:Theme.Holo.Light.Dialog">
        <item name="android:windowTitleStyle">@style/DialogWindowTitle</item>
    </style>

    <style name="DialogWindowTitle">
        <item name="android:textAppearance">@style/TextAppearance.DialogWindowTitle</item>
        <item name="android:background">#044592</item>
    </style>

    <style name="TextAppearance.DialogWindowTitle" parent="android:TextAppearance">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">20sp</item>
    </style>

Я все еще получаю светло-синий разделитель между заголовком и телом... все еще работаю над этим. Как уже было сказано, Я до сих пор не знаю, как обращаться с блеснами, Датапикерами и т. д...

Вот и результат.: AlertDialog:

Введите описание изображения здесь

И деятельность с видом диалога:

Введите описание изображения здесь