如果我有很多作为商品标签TextViews的,我以为我可以提取一切的常见约他们到一个样式,在布局只使用
<TextView style="@style/label" android:text="Foo"/>
<TextView style="@style/label" android:text="Bar"/>
搭配风格,如:
<style name="label">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
但是,当我这样做,它可以在仿真器和设备很好,但Android的XML编辑器抱怨说, "<TextView>" does not set the required layout_height attribute.
是否有关于它为什么报告此警告的一些原因?
您是否尝试过清理的项目?
我使用的也是对的宽度和长度的一些XML文件同样的事情。 这里有一个例子我的应用程序的工作,你可以看看:
<TextView
android:id="@+id/viewdescription"
android:textIsSelectable="true"
android:layout_below="@+id/rating_bar_view"
android:minLines="8"
style="@style/description" />
和XML:
<style name="description">
<item name="android:layout_gravity">center_horizontal</item>
<item name="android:inputType">textMultiLine</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/Black</item>
<item name="android:layout_marginRight">8dp</item>
<item name="android:layout_marginLeft">8dp</item>
一个后Build > Clean Project
的尝试,我仍然遇到在布局编辑器同样的问题; 我的IDE完全重启解决了这个问题对我来说。
我曾经尝试这样做,它只是做工精细..
<EditText
android:id="@+id/edt_mobile_no"
style="@style/login_input_fields"
android:hint="@string/hint_mobile"
android:inputType="phone" />
这里下面的样式为的EditText
<style name="login_input_fields">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">40dp</item>
<item name="android:layout_marginBottom">10dp</item>
<item name="android:background">@drawable/bg_curved_white_border</item>
<item name="android:paddingRight">10dp</item>
<item name="android:paddingLeft">10dp</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:textColorHint">@color/underline</item>
<item name="android:textSize">16sp</item>
<item name="android:typeface">monospace</item>
</style>
老话题,但仍然:)
我不认为一个宽度和高度设置为风格是一个好主意。 基本上,它编译和一般的作品,但我经历了更多的复杂布局的情况下,包括等在那里这是造成问题。 当你想想看,它并没有真正意义的把它放在那里。
如果你想为不同的布局不同的值,你可以很容易地使用@dimen。 它也可以成为别人使用你的风格相当令人吃惊。 你通常要设置颜色,大小和行为风格,但规模不是的事情之一。
你永远不知道在什么情况下你的风格会中使用。这只是当你看到你开始有某事本来可以做的更好的感觉,这些有异味的东西之一。
我的事情你应该把标签的父为“@android:风格/ Widget.TextView”