How to use two different font sizes for button text in Android?

拈花ヽ惹草 提交于 2019-12-07 12:44:40

问题


How could I implement a button background for ImageButton or Button which contains 2 textview each using different font sizes ? I cant use static images as background and I need to achieve this either using xml or programmatically.

This is a numeric keypad and it carries a numeric value and a set of alphabets each of which uses different font sizes and needs to be set as button text.

Here are some of the suggestions that pop-up on my brain but seems to have limitations since I want to reuse the UI component and avoid code repetition.

  1. Create a layout xml containing 2 textfields and set that as background on the button. But how can I get a reference of these textview fields to set the value on them in the MyActivity.java?

  2. Use a layeredlist ? still same problem reference of textviews

  3. Or create a custom view and inflate layout mentioned in step 1. This solution resolves my problem.

Does any other solution exist for this UI requirement?

Thanks.


回答1:


Hopefully this will help. This off course is not the only solution but it is a pretty simple one. Add the xml part in your xml instead of the button.

XML

<LinearLayout
    android:id="@+id/button_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp" 
        android:text="5"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="12sp" 
        android:text="ABC"/>

</LinearLayout>

CODE

    LinearLayout button= (LinearLayout)findViewById(R.id.button_layout);
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO DO whatever you want to do here

        }
    });



回答2:


For your button you can use code like this

don't forget put font in your Assets folder

 Button btnA=(Button) findViewById(R.id.button1);
 Typeface typeface = Typeface.createFromAsset(getAssets(), "yourFont.ttf");
 btnA.setText("my custom font");
 btnA.setTypeface(typeface);
 btnA.setTextSize(20);//as per your size

and for more reference see this

do as your second button if this helps let me know thanks...



来源:https://stackoverflow.com/questions/23001374/how-to-use-two-different-font-sizes-for-button-text-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!