Android自定义样式对话框:去掉蓝色线条并设置ActionBar颜色

3

我正在创建一个自定义对话框,使用以下代码和如下视图: mCountryDialog = new Dialog(getActivity(),android.R.style.Theme_Holo); 但是,我想移除蓝色分隔线并更改“操作栏”的背景颜色。

enter image description here

尝试的结果 参考stackoverflow,我在style.xml中创建了一个自定义对话框样式。

`<style name="LoCountryDialog" parent="android:Theme.Holo"> 
<item name="android:windowFullscreen">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@color/main_theme_red</item>

我想把背景颜色从黑色改为红色,但是显示时间、电池电量等的“顶栏”消失了,而蓝色分隔线仍然存在。
如果有人能与我分享解决方案,那就太好了,非常感谢! enter image description here

你尝试过这个吗:http://jgilfelt.github.io/android-actionbarstylegenerator - Manu Zi
我使用了那个工具来生成一个自定义的editText框,非常有用。 然而,这一次我想在对话框中改变actionbar的颜色...你能否给我更多关于使用该工具的提示,非常感谢! - Antoine Murion
2个回答

6
只需在您的Dialog.onCreateView()方法中添加以下代码即可:

只需添加此行代码即可:

getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);


1
但我想保留标题内容,我只想删除“下划线”.. - Antoine Murion

0

http://jgilfelt.github.io/android-actionbarstylegenerator

它将生成所有必要的九宫格资源以及相关的XML可绘制和样式,您可以直接复制到您的项目中。
您可以使用这些样式创建一个类似的主题。
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme" parent="@style/Theme.Holo.Light.DarkActionBar">
       <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

<!-- ActionBar styles -->
  <style name="MyActionBar" parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse">
       <item name="android:background">#ff0000</item>
  </style>
</resources>

接下来,您可以将主题应用于整个应用程序或单个活动:

如需进一步阅读,请参阅文档


我想我明白你的意思了。我稍后会尝试你的方法,如果成功的话,我会接受它作为答案。提前感谢你! - Antoine Murion

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接