如何覆盖像appcompat这样的主题的Dialog Style?

时间:2014-10-26 02:26:59

标签: android dialog styles themes

我一直试图制作自己的对话风格。这就是我现在所拥有的:

enter image description here

我想解决两个问题,我想摆脱标题下方的蓝线。 我已经将listSelector应用于列表,该列表可能已被父样式覆盖,因为它仅出现在所选项目上。

这是对话框样式的代码:

<style name="CustomDialogTheme" parent="">
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:padding">0dp</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:fitsSystemWindows">true</item>
    <item name="android:listSelector">@drawable/list_selector</item>
</style>

我尝试更改父级并使用Theme.Dialog。然后问题变成我不希望对话框周围的边框。通过将windowBackground设置为透明并没有解决这个问题。 人们说我必须创建自己的9png,但我做了但不知何故它被添加到Theme.Dialog风格之上。

鉴于我的问题,我该如何处理? 似乎我的风格不会覆盖给定的父级属性,只会添加它们?

这是listSelector代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
 android:state_selected="false"
 android:state_pressed="false"
 android:drawable="@drawable/gradient_bg" />

<item android:state_pressed="true"
 android:drawable="@drawable/gradient_bg_hover" />

<item android:state_selected="true"
 android:state_pressed="false"
 android:drawable="@drawable/gradient_bg_hover" />
</selector>    

我可以解决这个问题的另一种方法是改变标题颜色下方的蓝线。这可能吗?

0 个答案:

没有答案