0
我在android中测试样式,我似乎无法继承layout_width或height。我不能继承layout_width和高度
这是我的价值观styles.xlm
<resources>
<style name="AppThemeApp" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColor">#002AFF</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="AppThemeAct" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColor">#002AFF</item>
</style>
<style name="stl_button" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#002AFF</item>
<item name="android:typeface">serif</item>
</style>
<style name="stl_button.bold">
<item name="android:textStyle">bold</item>
</style>
</resources>
这是我的布局/ main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/cmd_OpenPlaces"
style="@style/stl_button.bold"
android:text="@string/str_cmdOpenPlaces" />
<Button
android:id="@+id/OpenSettings"
style="@style/stl_button"
android:text="@string/str_cmdOpenSettings" />
</LinearLayout>
,这是我的manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.programs.squik.myplaces">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppThemeApp">
<activity
android:name=".MainActivity">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".EditPlacesActivity">
</activity>
</application>
</manifest>
风格对于OpenSettings看起来不错;然而,cmd_OpenPlaces的抱怨没有layout_width和height,但是这应该从stl_button继承。
我得到这个
<Button> does not set the required layout_heigth attribute...
我缺少什么?
谢谢
这不是抱怨任何我测试过你的代码。 – Nepster
谢谢。我忘了添加清单,因为你说它没有给你的问题,我去了并摆弄它,显然我的问题是主题的名称。它不会采用AppThemeApp。它必须是AppTheme。现在的问题是如何定义多个主题并使用它们中的任何一个?我觉得我仍然错过了一些东西。我应该能够定义多个主题。 – user2368631
在创建AppThemeApp和AppThemeAct时创建主题,并在清单中的活动标记中设置主题。或者也可以通过编程方式设置主题。您可以一次将一个主题与某个活动相关联。并确保您创建的主题适合您的活动。因为某些活动需要actionBar,所以不要在没有actionBar的情况下使用任何主题 – Nepster