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

标签 java android android-layout textview android-ui

我如何为包含 2 个 TextView 的 ImageButton 或 Button 实现按钮背景,每个 TextView 使用不同的字体大小?我不能使用静态图像作为背景,我需要使用 xml 或以编程方式实现这一点。

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

enter image description here

以下是我脑海中突然出现的一些建议,但似乎有局限性,因为我想重用 UI 组件并避免代码重复。

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

  2. 使用分层列表?还是textviews同样的问题引用

  3. 或者创建一个自定义 View 并在步骤 1 中提到的 inflate 布局。此解决方案解决了我的问题。

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

谢谢。

最佳答案

希望这会有所帮助。这当然不是唯一的解决方案,但它是一个非常简单的解决方案。在您的 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>

代码

    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

        }
    });

关于java - 如何在 Android 中为按钮文本使用两种不同的字体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23001374/

相关文章:

android - 不幸的是项目已停止-错误

java - 将进度条设置为在文本完成后增加

java - 在UNO安装中的Accumulo 2.0上运行Hello World示例InsertWithBatchWriter的问题

Java 在回调中引用外部类范围

Java重命名旧目录或删除它以创建新目录

java - Android Tab Layout如何从第二个tab开始

android - 使用特定语言环境中的字符串从默认语言环境获取字符串

android mupdf libmupdf.so 运行时错误 "No implementation found for native openFile"

android - 为什么在 xml 中使用矢量可绘制时会引发 Inflat 异常?

java - 如何将 Tomcat 日志复制到 Jenkins 并在每次部署后显示它们