2012-04-20 20 views
0

我们正在为我们的Android应用使用自定义样式,并同时尝试使用自定义字体。由于我无法通过xml设置自定义字体,因此我们定义了textview的子类并在其中设置字体。但是,能够通过xml调整字体(不是它的样式,即常规,粗体,斜体,...)会很好。用于Android TextView的自定义样式的访问名称

基本的想法是看看我们有什么风格,并利用它的名字来找出使用哪种字体。

的风格看起来是这样的:

<style name="MyFont"> 
    <item name="android:textSize">12sp</item> 
    <item name="android:textStyle">normal</item> 
</style> 
<style name="MyFont.Font1"></style> 
<style name="MyFont.Font2"></style> 

而且TextView的本身可能是

<com.project.some.OurTextView 
    style="@style/MyFont.Font1" 
    android:text="@string/hello" /> 

如果com.project.some.OurTextView我能找出样式的名字实际上是要么Font1Font2,我将能够切换案例并基于此使用字体。

所以,问题依然存在:是否可以访问样式名称?

一如既往,非常感谢帮助!干杯!

回答

0
<style name="MyFont" parent="android:Theme"> 
    <item name="android:textSize">12sp</item> 
    <item name="android:textStyle">normal</item> 
</style> 
<style name="MyFont.Font1"></style> 
<style name="MyFont.Font2"></style> 

尝试上面的style.xml文件,每个样式元素都必须有父标记。 推荐这个LINK

+0

嗯,其实这不是我问的。另外,你错了。父级是通过点继承自我的自定义样式来定义的。我只是忘了给父母的“根”元素。遵循自己的链接,您可以阅读:“注意:通过将名称链接在一起进行继承的这种技术只适用于由您自己的资源定义的样式,您不能以这种方式继承Android内置样式,要引用内置样式,如TextAppearance,则必须使用父属性。“ – fluxon 2012-04-20 16:44:43

+0

感谢您的编辑......就像它是正确的。不过,您是否还有一个想法,在实际的类文件中,我可以发现该样式的名称是“Font1”? – fluxon 2012-04-20 17:22:48

相关问题