我希望我的元素能够引用/使用多种样式。这可能吗 ?或者这样做的正确方法是什么?
<TextView
style="@style/bold, @style/red"
...
/>
答案 0 :(得分:0)
如上所述,你不能使用样式,你不能将多个样式应用于单个元素。你需要创建包含两个样式的样式或创建继承父样式的单一样式风格。
尝试这样的事情:
<TextView
style="@style/txtviewstyle"
...
/>
style.xml中的
<style
name="txtviewstyle">
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/red</item>
</style>
或者您可以尝试:
String text = "<font color=#ff0000>Red Color</font>";
yourtextview.setText(Html.fromHtml(text));
yourtextview.setTypeface(textView.getTypeface(), Typeface.BOLD);
答案 1 :(得分:0)
请参阅Android文档中的this。
您通常在布局文件中指定这样的样式
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#00FF00"
android:typeface="monospace"
android:text="@string/hello" />
将样式移至styles.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
将样式应用于此类视图
<TextView
style="@style/CodeFont"
android:text="@string/hello" />
如果您想要具有不同文字颜色的确切样式,请使用以下方法而不是复制样式
<style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>
答案 2 :(得分:0)
尝试使用此代码
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
或
android:textStyle="italic|bold"
/>
或者也可以将此代码用于相同的要求
<style name="RedHUGEText" parent="@android:style/Widget.TextView">
<item name="android:textSize">@dimen/text_size_huge</item>
<item name="android:textColor">@color/red</item>
<item name="android:textStyle">bold</item>
</style>
<TextView android:id="@+id/text_view_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content
android:text="FOO"
style="@style/RedHUGEText" />
或者您也可以使用这种方式来满足同样的要求
tv.setTypeface(null, Typeface.BOLD);
tv.setTypeface(null, Typeface.ITALIC);
tv.setTypeface(null, Typeface.BOLD_ITALIC);
tv.setTypeface(null, Typeface.NORMAL);