2011-03-10 124 views
1

我是Android新手(Visual Studio已有20年)。我需要創建一個可點擊的控件,其中包含兩行文本(一個標題的按鈕頂部有一個小字體,一個是值較大的字體行 - 會發布圖像,但我不允許)。較大字體的大小縮放以便該值適合控件。 我很確定我需要繼承按鈕控件,但不知道如何在這種情況下。我發現的所有樣本似乎都不符合法案。創建一個包含兩行文本的自定義按鈕

用VB.Net很容易做到這一點,但當我嘗試使用Android時,我很難過。非常感謝任何幫助。也可能是其他人的方便控制。 感謝

+0

你想控制至極的樣子按鈕或只是點擊控制? – RomaTTi 2011-03-10 14:21:06

回答

4

你可以嘗試像代碼使用Spannable:

public class Test extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button but = (Button) findViewById(R.id.button1); 
     String butText= "Line 1\nLine 2"; 
     but.setText(formatString(butText)); 
    } 

    private Spannable formatString(String str) { 

     int startSpan = str.indexOf("\n"); 
     int endSpan = str.length(); 
     Spannable spanString = null; 
     spanString = new SpannableString(str); 
     spanString.setSpan(new TextAppearanceSpan(this, 
       R.style.custompoint), startSpan, endSpan, 
       Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);   
     return spanString; 
    } 

} 

如果你有一個風格「custompoint」

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style 
     name="custompoint"> 
     <item name="android:textSize">24sp</item> 
     <item name="android:textStyle">bold</item> 
    </style> 
</resources> 
+0

我已經嘗試過,這個作品,不知道爲什麼OP沒有接受它作爲答案。 – 2013-02-05 17:54:13

+0

@NickT它不工作,如果我使用可擴展的字符串html.fromHtml,效果消失? – 2013-04-17 07:57:43