gpt4 book ai didi

android - 从对话框 Activity 更改操作栏背景

转载 作者:行者123 更新时间:2023-11-30 03:13:38 26 4
gpt4 key购买 nike

我正在制作一个 Activity 对话框并想自定义 Activity 的布局。我已经通过扩展 "@android:style/Theme.Holo.Dialog" 的 Activity 在 list 中设置了自定义样式.

如果我使用 <item name="android:windowTitleStyle">CUSTOM_STYLE_NAME</item>背景颜色的唯一变化是在标题后面,而不是整个操作栏。

设置<item name="android:actionBarStyle">在我的自定义样式中也没有帮助。

那么如何在 Activity 对话框中更改操作栏的背景呢?

enter image description here

最佳答案

我已经修复了 this我在 stackoverflow 上找到的调整。您基本上要做的是声明您自己的对话框样式,并将其作为主题添加到您的 Activity 中:

<style name="PopupTheme" parent="android:Theme.Holo.Light.Dialog">
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowSoftInputMode">stateAlwaysHidden</item>
<item name="android:windowActionModeOverlay">true</item>
<item name="android:windowIsTranslucent">true</item>
</style>

然后在您的 oncreate 中声明以下方法:

public static void showAsPopup(Activity activity) {
//To show activity as dialog and dim the background, you need to declare android:theme="@style/PopupTheme" on for the chosen activity on the manifest
activity.requestWindowFeature(Window.FEATURE_ACTION_BAR);
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,
WindowManager.LayoutParams.FLAG_DIM_BEHIND);
LayoutParams params = activity.getWindow().getAttributes();
params.height = 850; //fixed height
params.width = 850; //fixed width
params.alpha = 1.0f;
params.dimAmount = 0.5f;
activity.getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
setContentView(R.layout.activity_main);
}

在此之后,您可以使用您选择的背景颜色添加您自己的自定义操作栏样式:

<item name="android:actionBarStyle">@style/MyActionBar</item>

附言。 LayoutParams 来自 WindowManager

关于android - 从对话框 Activity 更改操作栏背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20517202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com