我面临着问题.我试图在我的应用程序中编辑文本看起来与主题的帮助相同.
我已经在线工具(9个补丁图像)的帮助下生成了样式,并尝试将其设置为我的主题
我已经在线工具(9个补丁图像)的帮助下生成了样式,并尝试将其设置为我的主题
<!-- Base application theme. --> <style name="DefaultAppTheme" parent="Theme.AppCompat"> <!-- Main theme colors --> <!-- your app branding color for the app bar --> <item name="colorPrimary">@color/blue</item> <!-- darker variant for the status bar and contextual app bars --> <item name="colorPrimaryDark">@color/darkblue</item> <!-- theme UI controls like checkBoxes and text fields --> <item name="colorAccent">@color/cornflowerblue</item> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:editTextStyle">@style/EditTextDefault</item> </style>
我的风格编辑文字
<style name="EditTextDefault" parent="android:Widget.EditText"> <item name="android:background">@drawable/edit_text_holo_light</item> <item name="android:textColor">@color/light_blue</item> <item name="android:layout_marginLeft">@dimen/margin_edit_text_default</item> <item name="android:layout_marginRight">@dimen/margin_edit_text_default</item> <item name="android:layout_marginTop">@dimen/margin_edit_text_default</item> </style>
但是,如果使用编辑文本而不为每个编辑文本手动指定样式,则无效.
这不行
<EditText android:id="@+id/edit_text_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/edit_text_password" android:hint="@string/hint_enter_login" android:inputType="textEmailAddress" />
这个工作
<EditText android:id="@+id/edit_text_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/edit_text_password" style="@style/EditTextDefault" android:hint="@string/hint_enter_login" android:inputType="textEmailAddress" />
我知道layout_ * params不会影响它们是否在主题中使用,但其他属性应该可以工作.
请帮忙解决这个问题.
解决方法
而不是这个..
<item name="android:editTextStyle">@style/EditTextDefault</item>
用这个..
<item name="editTextStyle">@style/EditTextDefault</item>