线性布局中的自动调整大小文本,权重 android java
auto size text in linear layout with weight android java
我想自动调整文本大小。但它在 linearLayout 中,我正在使用重量。我尝试过类似的事情:
app:autoSizeTextType="uniform"
android:autoSizeMinTextSize="2sp"
android:autoSizeMaxTextSize="100sp"
android:autoSizeStepGranularity="2sp"
但没有任何效果!有人能帮我吗 ??? (我搜索了很多但没有任何结果)谢谢!
autosize 的工作原理是您为视图提供恒定的宽度和高度,然后它会适当地自动调整文本大小。避免在宽度上使用 wrap_content
...如果可能,请尝试给出准确的 width/height,或者您的高度可变 wrap_content
,但宽度固定为数字或 match_parent
好吧,我解决了我的问题:
我正在做的是采用 RelativeLayout 的大小,而我的 TextView 在里面。然后我以编程方式标注 TextView 的尺寸并使用 setAutoTypeUniform 函数使文本适合我的布局。
rl_get_coins.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
rl_get_coins.getViewTreeObserver().removeOnGlobalLayoutListener(this);
height = rl_get_coins.getHeight(); //height is ready
width = rl_get_coins.getWidth(); //height is ready
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) text_get_coins.getLayoutParams();
params.height = height;
params.width = width;
text_get_coins.setLayoutParams(params);
text_get_coins.setText("Obtenir");
TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(text_get_coins, 1, 17, 1,
TypedValue.COMPLEX_UNIT_DIP);
}
});
好家伙,如果你有任何问题,告诉我。我很高兴它对我有用!
Made by a made by Whosebug, so happy, I did it lol
我想自动调整文本大小。但它在 linearLayout 中,我正在使用重量。我尝试过类似的事情:
app:autoSizeTextType="uniform"
android:autoSizeMinTextSize="2sp"
android:autoSizeMaxTextSize="100sp"
android:autoSizeStepGranularity="2sp"
但没有任何效果!有人能帮我吗 ??? (我搜索了很多但没有任何结果)谢谢!
autosize 的工作原理是您为视图提供恒定的宽度和高度,然后它会适当地自动调整文本大小。避免在宽度上使用 wrap_content
...如果可能,请尝试给出准确的 width/height,或者您的高度可变 wrap_content
,但宽度固定为数字或 match_parent
好吧,我解决了我的问题:
我正在做的是采用 RelativeLayout 的大小,而我的 TextView 在里面。然后我以编程方式标注 TextView 的尺寸并使用 setAutoTypeUniform 函数使文本适合我的布局。
rl_get_coins.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
rl_get_coins.getViewTreeObserver().removeOnGlobalLayoutListener(this);
height = rl_get_coins.getHeight(); //height is ready
width = rl_get_coins.getWidth(); //height is ready
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) text_get_coins.getLayoutParams();
params.height = height;
params.width = width;
text_get_coins.setLayoutParams(params);
text_get_coins.setText("Obtenir");
TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(text_get_coins, 1, 17, 1,
TypedValue.COMPLEX_UNIT_DIP);
}
});
好家伙,如果你有任何问题,告诉我。我很高兴它对我有用!
Made by a made by Whosebug, so happy, I did it lol