Android:使用通用样式应用边距不起作用

时间:2013-11-22 12:50:06

标签: android android-layout android-styles

我正在尝试为我的应用编写一个通用的style.xml。

我希望我的所有EditText视图都具有某些样式,所以我做了类似的事情:

<!-- Base application theme. -->
    <style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:editTextStyle">@style/App_EditTextStyle</item>
    </style>

    <style name="App_EditTextStyle">
        <item name="android:background" >#ff0000</item>
        <item name="android:textColor">#00ff00</item>
        <item name="android:layout_marginLeft">50dip</item>
        <item name="android:height">50dip</item>
    </style>

在清单中我应用主题:

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MyAppTheme" >

以下是示例布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/main_layout">

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:text="Test" />

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editText2"
        android:text="Test2" />
</LinearLayout>

除了保证金外,一切正常。由于某种原因,它不适用,我必须手动将其添加到EditText。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

如果您想对所有EditText小部件执行此操作,请将其应用于LinearLayout标记:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/main_layout"
    style="@style/MyAppTheme">