如何在Android中使用两种不同的字体大小的按钮文字?

AKh*_*AKh 3 java android textview android-ui android-layout

我如何实现ImageButton或Button的按钮背景,其中包含2个textview,每个使用不同的字体大小?我不能使用静态图像作为背景,我需要使用xml或以编程方式实现此目的.

这是一个数字小键盘,它带有一个数字值和一组字母,每个字母使用不同的字体大小,需要设置为按钮文本.

在此输入图像描述

以下是我脑中弹出的一些建议但似乎有限制,因为我想重用UI组件并避免重复代码.

  1. 创建一个包含2个文本字段的布局xml,并将其设置为按钮上的背景.但是,如何获取这些textview字段的引用以在MyActivity.java中设置它们的值?

  2. 使用分层列表?文本视图的问题参考仍然相同

  3. 或者创建第1步中提到的自定义视图和膨胀布局.此解决方案可以解决我的问题.

此UI要求是否存在任何其他解决方案?

谢谢.

Oya*_*Oya 9

希望这会有所帮助.这个过程不是唯一的解决方案,但它非常简单.在xml中添加xml部分而不是按钮.

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>
Run Code Online (Sandbox Code Playgroud)

    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

        }
    });
Run Code Online (Sandbox Code Playgroud)