我对这个网站非常满意。我经常学习。
今天我怀疑已经出现了。我想把一个样式放到FrameLayout上。并且不要使用。
风格如下:
<style name="textAsk">
<item name="android:textColor">#000000</item>
<item name="android:padding">2dp</item>
<item name="android:minWidth">88dp</item>
<item name="android:minHeight">36dp</item>
<item name="android:textSize" >18dp</item>
<item name="android:layout_marginRight">12dp</item>
<item name="android:layout_marginLeft">12dp</item>
<item name="android:layout_marginTop">5dp</item>
</style>
我在FrameLayout中显示正在更改的片段。每个片段都包含一个带有文本的TextView。
有很多片段,我想为所有TextView设置一个样式,一个常见的样式,以节省时间,而不是在每个TextView中设置样式。
我试过这段代码:
<FrameLayout
android:id="@+id/fragmentaskGRP1"
android:layout_width="match_parent"
android:layout_height="450dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
style="@style/textAsk"/>
但唯一对我有用的是:
<item name="android:layout_marginRight">12dp</item>
<item name="android:layout_marginLeft">12dp</item>
<item name="android:layout_marginTop">10dp</item>
非常感谢你的一切
答案 0 :(得分:0)
问题在于,儿童观点不会从封闭的ViewGroup
继承样式。样式可以包含父项,但在您的情况下,TextView
不会从FrameLayout
获取这些属性。
答案 1 :(得分:0)
FrameLayout
不支持textColor
或textSize
属性(API)。所以它从未为FrameLayout设置并被忽略。有关详细信息,请参阅指南Styles and Themes中的样式属性部分。
指南引用:
但是,如果将样式应用于不支持所有样式属性的View,则View将仅应用受支持的属性,而忽略其他属性。
在单独的样式定义中定义与文本相关的样式,并将其用于匹配视图,例如TextView
答案 2 :(得分:0)
其他样式不会应用于片段。你必须创建另一个逻辑来将样式应用于所有片段(最有可能你必须为每个片段单独应用样式)
FrameLayout
与文字无关,因此textColor, textSize
无效。
minWidth, minHeight
是View的属性,它认为它们应该有用。