如何TextView在Java中设置样式(粗体斜体)而不使用XML布局?
换句话说,我需要android:textStyle用Java 编写.
是否可以为TextView中的不同文本设置多个样式?
例如,我将文本设置如下:
tv.setText(line1 + "\n" + line2 + "\n" + word1 + "\t" + word2 + "\t" + word3);
Run Code Online (Sandbox Code Playgroud)
是否可以为每个文本元素设置不同的样式?例如,line1粗体,word1斜体等.
开发人员指南的常见任务和Android中的操作方法包括选择,突出显示或设置部分文本样式:
Run Code Online (Sandbox Code Playgroud)// Get our EditText object. EditText vw = (EditText)findViewById(R.id.text); // Set the EditText's text. vw.setText("Italic, highlighted, bold."); // If this were just a TextView, we could do: // vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE); // to force it to use Spannable storage so styles can be attached. // Or we could specify that in the XML. // …
我拥有的是具有IsReadOnly属性的对象.如果此属性为true,我想将IsEnabledButton(例如)上的属性设置为false.
我想相信我可以轻松地做到这一点,IsEnabled="{Binding Path=!IsReadOnly}"但不能与WPF一起使用.
我不得不经历所有的风格设置吗?对于像将一个bool设置为另一个bool的反向那样简单的事情,似乎太过冗长.
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsReadOnly}" Value="True">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsReadOnly}" Value="False">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
Run Code Online (Sandbox Code Playgroud) 在这个问题的答案中,用户列出了android:fontFamily12种变体的值(见下文).这些价值来自哪里?该文档android:fontFamily未在任何地方列出此信息(我在此处查看,此处).这些字符串在各个地方的Android styles.xml文件中列出,但是这些字符串如何映射回Roboto字体?
从android 4.1/4.2开始,可以使用以下Roboto字体系列:
Run Code Online (Sandbox Code Playgroud)android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)与此相结合
Run Code Online (Sandbox Code Playgroud)android:textStyle="normal|bold|italic"可能有12种变体:
- 定期
- 斜体
- 胆大
- 加粗斜体
- 光
- 光斜体
- 瘦
- 薄斜体
- 经常凝聚
- 浓缩斜体
- 浓缩大胆
- 浓缩大胆的斜体
在styles.xml应用程序的文件中我正在处理有人将其列为字体系列,我很确定它是错误的:
<item name="android:fontFamily">Roboto-Regular.ttf</item>
我想正确设置我们的应用程序主题(包括正确使用fontFamily)并删除在我查看文件之前创建的某些样式中的所有冗余.
我在布局xml文件中创建一个EditText
但我想将EditText中的颜色线从Holo更改为(例如)红色.怎么做?

使用<BR/>标签有时不好吗?
我问,因为我的开发团队给我的第一个建议是:不要使用<BR/>; 相反,使用样式.但为什么?使用<BR/>标签时会出现负面结果吗?
有没有办法我可以这样做Style:
<Style TargetType="FrameworkElement">
<Setter Property="Visibility">
<Setter.Value>
<Binding Path="Tag"
RelativeSource="{RelativeSource AncestorType=UserControl}"
Converter="{StaticResource AccessLevelToVisibilityConverter}"
ConverterParameter="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Tag}" />
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
我只需要将Tag顶级父级和Tag控件本身发送到我的转换器类.
如何控制一个体内元素的背景图像和颜色iframe?注意,嵌入的body元素有一个类,而且iframe是一个页面,它是我站点的一部分.
我需要这个的原因是我的网站有一个黑色背景分配给身体,然后白色背景分配给包含文本的div.WYSIWYG编辑器iframe在编辑时使用嵌入内容,但它不包含div,因此文本很难阅读.
iframe编辑器中的when 的主体有一个在其他任何地方都没有使用的类,所以我假设这个被放在那里,所以这样的问题可以解决.但是,当我应用样式时,class.body它们不会覆盖应用于body的样式.奇怪的是,样式确实出现在Firebug中,所以我不知道发生了什么!
谢谢
更新 - 我已经尝试了@ mikeq的解决方案,即将类型添加到正文类的类中.这在添加到主页的样式表时不起作用,但在使用Firebug添加时它确实有效.我假设这是因为Firebug应用于页面上的所有元素,而CSS不应用于iframe中.这是否意味着在使用JavaScript加载窗口后添加css会起作用?
有没有办法在Github Wiki中很好地格式化/设计JSON代码(即Markdown首选)?
这样的东西很少有颜色(或粗体)和正确的缩进:http://www.freeformatter.com/json-formatter.html#ad-output