【问题标题】:How to get TextView style form it's xml?如何从 xml 中获取 TextView 样式?
【发布时间】:2019-11-12 16:20:09
【问题描述】:

我扩展了 TextView,但我无法获取 TextView 的文本大小。

android:textSize="23sp"

我知道java代码中的getTextSize()可以得到它,但是当用户没有设置属性时我仍然有值(意味着没有android:textSize=...)。

所以我不能使用getTextSize() 方法。

那么,如何从AttributeSet 中获取框架的样式值?

———————————— 追加——————————————

当我在 xml 中有两个 TextView 时:

<TextView
   android:height ..
   android:width ..
   android:textSize="16sp"
/>

<TextView
   android:height ..
   android:width ..
/>

我想在 java 代码中获取它们的 textsize 值,如下所示: (16),(0)

我知道 textView 有 getTextSize() 方法。 但是该方法会为我提供两个值(16),(16)。因为TextView的默认值中的第二个值,我不想要默认值,我只想要关于我的用户没有设置textSize的消息xml!

我希望我已经解释得足够清楚了。

【问题讨论】:

标签: android


【解决方案1】:

我认为当您从 xml 获取 UI 小部件/对象时,它会在您的类中静态膨胀。到目前为止,用户还没有任何滚动。

用户没有设置属性

回答这个问题

  1. 以编程方式创建 TextView 对象
  2. 有一个简单的通知界面。
  3. 更改 textView.setTextSize() 和
  4. 调用接口方法通知用户textview的变化。

所以通过这种方式,你肯定会得到用户是否设置了 textSize 的信息。

【讨论】:

    【解决方案2】:

    你可以得到这样的:

    科特林

    val size = Textview(this).textSize
    

    Java

    float size = new Textview(this).getTextSize();
    

    【讨论】:

    • 谢谢,我知道方法,但它对我不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多