Android 如果我们的应用程序已经使用自定义主题,我们如何指定一个活动来使用对话框主题
目前,我们的应用程序有自己的自定义主题Android 如果我们的应用程序已经使用自定义主题,我们如何指定一个活动来使用对话框主题,android,Android,目前,我们的应用程序有自己的自定义主题 // AndroidManifest.xml <application ... android:theme="@style/Theme.JStock.Light.DarkActionBar" > <activity android:name="org.yccheok.jstock.gui.billing.ShopDialogFragmentActivity" android:windowSoftI
// AndroidManifest.xml
<application
...
android:theme="@style/Theme.JStock.Light.DarkActionBar" >
<activity android:name="org.yccheok.jstock.gui.billing.ShopDialogFragmentActivity"
android:windowSoftInputMode="stateAlwaysHidden" />
</application>
// themes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.JStock.Light.DarkActionBar" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="watchlistLinearLayoutHeaderBackground">@color/watchlist_linear_layout_header_background_inverse_holo_light</item>
....
<item name="homeMenuBackground">@color/home_menu_background_inverse_holo_light</item>
</style>
</resource>
然而,这将产生一个问题
ShopDialogFragmentActivity
使用的布局文件不能再访问Theme.JStock.Light.darkaActionBar
中定义的属性
例如,watchlistLinearLayoutHeaderBackground
和homeMenuBackground
不再对ShopDialogFragmentActivity
可见,如果它使用的是@android:style/Theme.Dialog
我猜主题@android:style/theme.Dialog
已经完全覆盖了theme.JStock.Light.DarkActionBar
。Theme.JStock.Light.darkaActionBar
中定义的所有属性对于使用与应用程序
不同主题的活动
不再可见
我想知道,克服这个问题的优雅方法是什么?使用parent=“android:style/Theme.Dialog”
真的
问题不在于windowNoTitle。问题是,如果活动想要使用另一个主题,如何访问应用程序自定义主题。
<activity android:name="org.yccheok.jstock.gui.billing.ShopDialogFragmentActivity"
android:theme="@android:style/Theme.Dialog"
android:windowSoftInputMode="stateAlwaysHidden" />
<style name="NoTitleDialog" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>