在TextView中更改textSize

在下面的代码中,从android studio的android应用程序中,我有一个LinearLayout,它包含一个TextView,其大小我想要改变,例如从100改变为20.但是,事情是,每当我改变android:textSize =“100.0dip”到任何其他数字,在我的手机上运行时,大小在应用程序中仍然保持不变。在TextView中更改textSize

代码:

<ScrollView 

android:id="@id/qp_body_wrapper"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_above="@id/widget34"

android:layout_below="@id/widget99"

android:layout_marginBottom="5.0dip"

android:layout_marginTop="10.0dip"

android:clickable="true"

android:focusable="true"

android:foregroundGravity="right">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@id/qp_body_wrapper_container"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:clickable="true"

android:focusable="true"

android:orientation="vertical">

<TextView

android:id="@id/qp_body"

style="@style/QuoteViewText"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:background="@drawable/dashboard_qod_bg"

android:clickable="true"

android:focusable="true"

android:gravity="right"

android:padding="10.0dip"

android:textAlignment="viewEnd"

android:textColor="#FFFFFF"

android:textSize="100.0dip"

tools:ignore="RtlCompat,RtlHardcoded" />

</LinearLayout>

</ScrollView>

这里是QuoteViewText风格:

<style name="QuoteViewText"> 

<item name="android:textSize">100.0dip</item>

<item name="android:typeface">serif</item>

<item name="android:textStyle">bold</item>

<item name="android:textColor">#fffcfcfc</item>

<item name="android:shadowColor">#ff102e46</item>

<item name="android:shadowDx">0.0</item>

<item name="android:shadowDy">1.0</item>

<item name="android:shadowRadius">2.0</item>

</style>

回答:

要设置TextView的大小2从应用TEXTSIZE为TextView的应用样式和另一个时代之一。使用任何一个。对于文本,使用sp而不是dp来表示用户偏好。

回答:

文字大小是在sp - 与比例无关的像素中测得的。

所以,你的情况,你应该使用

<item name="android:textSize">100sp</item> 

代替

<item name="android:textSize">100.0dip</item> 

而且,不要忘记,风格是从属性的布局overrided,在这种情况下,你应该删除android:textSize从你的TextView,只留下样式。你也应该从10的文字大小开始,100是大而不用的。

回答:

您正在使用浸,而应该SP为TEXTSIZE

你可以用这些下面的文件更新您的代码文件,它会解决你的问题

<ScrollView 

android:id="@id/qp_body_wrapper"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_above="@id/widget34"

android:layout_below="@id/widget99"

android:layout_marginBottom="5.0dip"

android:layout_marginTop="10dp"

android:clickable="true"

android:focusable="true"

android:foregroundGravity="right">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@id/qp_body_wrapper_container"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:clickable="true"

android:focusable="true"

android:orientation="vertical">

<TextView

android:id="@id/qp_body"

style="@style/QuoteViewText"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:background="@drawable/dashboard_qod_bg"

android:clickable="true"

android:focusable="true"

android:gravity="right"

android:padding="10dpp"

android:textAlignment="viewEnd"

android:textColor="#FFFFFF"

tools:ignore="RtlCompat,RtlHardcoded" />

</LinearLayout>

</ScrollView>

这里是QuoteViewText风格:

<style name="QuoteViewText"> 

<item name="android:textSize">100sp</item>

<item name="android:typeface">serif</item>

<item name="android:textStyle">bold</item>

<item name="android:textColor">#fffcfcfc</item>

<item name="android:shadowColor">#ff102e46</item>

<item name="android:shadowDx">0.0</item>

<item name="android:shadowDy">1.0</item>

<item name="android:shadowRadius">2.0</item>

</style>

回答:

提示:使用dimens.xml来存储您的使代码管理更简单,更简洁的具体值。

除了从dipsp的变化和textSize多余的双重设置,则您的TextView代码没有问题,它应该工作的罚款。有一些其他小问题,可能使用@+id/qp_body而不是match_parent而不是已弃用的fill_parent,但它仍然应该工作。

这是在黑暗中拍摄,但请检查,如果您不是以某种方式在代码中以编程方式覆盖值。如果没有,你总是可以尝试,看看会发生什么:

TextView mTextView = (TextView) findViewById(R.id.qp_body); 

mTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20f);

或使用维资源:

TextView mTextView = (TextView) findViewById(R.id.qp_body); 

mTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, getResources().getDimension(R.dimen.my_text_size));

回答:

您正在使用浸在TEXTSIZE,而不只是使用DP或sp .dp和sp都将工作,但通常在textview中,我们使用sp。

以上是 在TextView中更改textSize 的全部内容, 来源链接: utcz.com/qa/266927.html

回到顶部