如何从XML的TextView样式中获取?

时间:2019-11-11 14:05:05

标签: android

我扩展了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!

我希望我已经解释清楚了。

2 个答案:

答案 0 :(得分:0)

您可以得到:

科特琳

val size = Textview(this).textSize

Java

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

答案 1 :(得分:0)

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

  

用户未设置属性

要回答此问题

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

因此,无论用户是否设置了textSize,您都可以肯定地获取信息。