2014-10-02 88 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

相關問題