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