2014-10-02 510 views
0

我想在多行按钮中设置2个不同的大小。android在按钮中设置2个不同的字体大小

我现在所做的是使用下面的方法,但我无法控制的大小,并不知道它是如何在不同的屏幕上看起来像。

final Button btnreset = (Button) findViewById(R.id.resetQ); 
    btnreset.setText(Html.fromHtml("<big>Click Here</big><br/><small>To Queue</small>")); 

其中一些人说,而不是使用大或小。使用html标签。 html标签在颜色属性上很好,但没有尺寸属性。下面

final Button btnreset = (Button) findViewById(R.id.resetQ); 
    btnreset.setText(Html.fromHtml("<font size='9'>Click Here</font><br/><font size='2'>To Queue</font>")); 

是我的XML编码

<Button 
        android:id="@+id/resetQ" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="50dp"      
        android:text="New Queue" 
         android:textSize="@dimen/lblsize"  
        android:layout_weight="1" /> 

编辑

所以现在我的代码变得

Spannable spannable = new SpannableString("Click Here To Queue"); 
    spannable.setSpan(new RelativeSizeSpan(1.5f), 0, 10,Spannable.SPAN_INCLUSIVE_INCLUSIVE); 
    btnreset.setText(spannable); 

回答

1

您可以使用这样的事情:

Spannable spannable = new SpannableString("Click here\nto queue"); 
spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, 10,Spannable.SPAN_INCLUSIVE_INCLUSIVE); 
spannable.setSpan(new RelativeSizeSpan(2f), 11, 20,Spannable.SPAN_INCLUSIVE_INCLUSIVE); 
btnreset.setText(spannable); 

这将“Click here”设置为粗体。然后“在队列中”在下一行添加两倍大小的字体。

+0

好的,我会试试看。谢谢 – vbCoder 2014-10-02 05:54:56

+0

如何将“排队”移动到第二行并设置字体大小?目前只有前10名的开始指数和结束指数才能改变。其余的话呢? – vbCoder 2014-10-02 06:11:20

+0

使用'\ n'作为新行。使用'RelativeSizeSpan'来改变大小。查看更新的答案。 – faizal 2014-10-02 06:20:37

2

对于Android 5.0(棒棒糖)“或更新的” 将setTransformationMethod(null)添加到您的按钮(请参阅此link)。

Spannable span = new SpannableString(text + "\n" + underText); 
span.setSpan(new AbsoluteSizeSpan(12, true), text.length()+1, text.length()+1+underText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

Button button = new Button(ctx); 
button.setTextSize(16); 
button.setText(span); 
button.setTransformationMethod(null); 
+0

请注意,setTransformationMethod(null)还允许像这样的指令工作 – Philippe 2017-11-14 21:05:31

相关问题