AppCompat主题失去了所有蓝色标题样式

时间:2016-04-15 05:04:50

标签: android android-appcompat android-theme android-styles android-dialog

我有一个包含ListView的AppCompatActivity,我将其显示为对话框(即要求用户拍照或从图库中选择图像的列表)。

但是它说我必须使用for (int i = 0; i < month.length; i++) { Console.WriteLine(month[i]+ "\t" + 1_AF[i] + "\t" + 1_Rain[i] + "\t" + 1_Sun[i] + "\t" + 1_TBig[i] + "\t" + 1_TSmall[i]); } 作为对话。所以我用

Theme.AppCompat

然而,与标准DialogFragments等中出现的蓝色文本/蓝色下划线相比,生成的标题为黑色并且没有下划线。

如何将相同的主题反馈回此Dialog主题?

使用屏幕摘要编辑:

enter image description here

我通过执行以下操作从另一个DialogFragment调用此新对话框:

<style name="CameraMenuTheme" parent="Theme.AppCompat.Light.Dialog">
</style>

2 个答案:

答案 0 :(得分:0)

试试这个。

创建一个没有给出样式的对话框:

public static void showDialog(Activity activity) {

        final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        View view =  LayoutInflater.from(activity).inflate(R.layout.dialog_common, null);
        builder.setView(view);

        alert = builder.create();
        alert.show();

    }

答案 1 :(得分:0)

以下是对话框的示例主题,其中colorAccent将用于您的按钮,textColorPrimary将是您的标题颜色,背景是您的对话框背景。

<style name="AlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
  <item name="colorAccent">#0900FF</item>
  <item name="android:textColorPrimary">#FFFFFF</item>
  <item name="android:background">#FF0049</item>
</style>

现在将此主题添加到您的应用程序AppTheme

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- your AlertDialog style -->
    <item name="alertDialogTheme">@style/AlertDialogStyle</item>
</style>

现在创建对话框。这里aa是您在Arrayview中用作适配器的ArrayAdapter或BaseAdapter。

import android.support.v7.app.AlertDialog

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity().this);
    builder.setTitle("Dialog");
    builder.setSingleChoiceItems(aa, 0, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dlg, int which) { 
       //which is index of your item clicked from the list. So take appropriate action.
     } 
    }) 
builder.show();