我有一个AlertDialog
在整个应用程序中使用。我对它的外观以及将其复制为与我使用Activity as a Dialog
时完全相同的外观感到满意。在某些情况下,我需要使用Activity as a Dialog
而不是AlertDialog
,因为我必须防止应用程序启动仅在某些情况下发生的新活动。
这是我的AlertDialog
的样子。
这是我的Activity As A Dialog
如何匹配第二个对话框以使其看起来完全像“警报对话框”?主对话框使用带有粉红色单选按钮的默认主题,而第二个则没有。同样,第二个对话框更宽更短。有什么方法可以找到警报对话框的布局属性,并将这些属性添加到AAAD
的xml中吗?还是有更好的方法来解决这个问题?
这是Alert Dialog
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setTitle("Alert Dialog");
alt_bld.setSingleChoiceItems(myArray.toArray(new String[myArray.size()]), 0, new DialogInterface.OnClickListener()
AAAD
的代码
setContentView(R.layout.activity_da_aamount_to_finish);
setTitle("Activity As A Dialog");
清单文件
<activity android:name=".DaAAmountToFinish"
android:theme="@style/Theme.AppCompat.Light.Dialog.MinWidth">
android:excludeFromRecents="true"></activity>
此活动的xml只是带有三个按钮的RadioGroup。
我应该怎么做?
如果我将AAAD
的清单主题更改为android:theme="@style/AppTheme">
,它将以我想要的样式出现,但作为一个整体活动。我如何保持对话框外观并实现此主题。
答案 0 :(得分:1)
如果要复制对话框的结构,可以使用Android Studio的布局检查器工具,它将显示视图树。 Layout inspector guide
对于粉红色,Android从样式文件中获取它。此颜色应该是AppTheme的colorAccent或colorPrimary属性(无法准确记住)。
enum ButtonStyle {
primary = "primary"
}
希望这会有所帮助!