使用默认标题文本视图样式自定义AlertDialogs的标题文本

时间:2017-01-06 10:56:00

标签: android android-alertdialog android-styles

当列表出现时,我需要创建一个自定义标题视图,以便能够显示消息和标题。因为列表出现在对话框的内容区域中。因此,对话框无法同时显示消息和列表。

我的自定义视图是LinearLayout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:padding="24dp"
              android:paddingBottom="20dp"
              style="@style/Base.Theme.AppCompat.Dialog.Alert"
    >

    <TextView
        android:id="@+id/alert_dialog_custom_title_textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:textSize="20sp"
        android:textStyle="bold"
        />

    <TextView
        android:id="@+id/alert_dialog_custom_message_textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="14sp"/>
</LinearLayout>

根据给定的material design guidelines

信息给出填充值和文本大小

enter image description here

但是,此外观与默认外观不同。

screenshots

我的问题

  • 如何创建与默认样式相同的textView?

也许有一种方法可以为我的TextView设置样式

编辑:我只想设置样式属性,使其视觉效果与默认的AlertDialog相同。

我的textview已经是这样的:

<TextView
        android:id="@+id/alert_dialog_custom_title_textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="messsage"
        android:layout_marginBottom="20dp"
        android:textSize="20sp"
        android:textStyle="bold"
        />

我想这样做:

<TextView
        android:id="@+id/alert_dialog_custom_title_textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="messsage"
        style="?android:attr/titleTextStyle"
        />

1 个答案:

答案 0 :(得分:0)

在你的风格中你可以使用这个

<style name="TextAppearance.AlertDialogPro" parent="android:TextAppearance" />

对于textview,您可以添加样式

<TextView
        android:id="@+id/alert_dialog_custom_title_textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="messsage"
        style="@style/TextAppearance.AlertDialogPro"
        android:layout_marginBottom="20dp"
        android:textSize="20sp"
        android:textStyle="bold"
        />