有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何更改安卓时钟分钟数字的文本大小

我想将小时文本大小更改为25.0度,分钟文本大小更改为18.0度

我正在使用SimpleDataFormat获取当前时间。但是当我改变textsize时,整个textsize变为相同。我想分别改变尺寸


共 (1) 个答案

  1. # 1 楼答案

    有两种方法可以实现这一点

    • 使用Spannable Strings在代码中指定相对文本大小——单一文本视图解决方案
    • 使用textView的TextSize属性在布局文件-双textView解决方案中分配相对TextSize

    结果将是相同的:-

    enter image description here

    全球减容

    private TextView spannableTextView;
    private TextView hourTextView;
    private TextView minuteTextView;
    

    获取视图

        // Single TextView with spannable string
        spannableTextView = (TextView) findViewById(R.id.textView1);
    
        // Two TextView solution
        hourTextView = (TextView) findViewById(R.id.textViewHour);
        minuteTextView = (TextView) findViewById(R.id.textViewMinute);
    

    这种方法证明了这两种方法

    public void updateTime() {
    
        // WITH SPANNABLE STRING
        Calendar calendar = Calendar.getInstance();
    
        SpannableString span = new SpannableString(
                calendar.get(Calendar.HOUR_OF_DAY) + "H" + calendar.get(Calendar.MINUTE) + "M");
    
        // span.setSpan(new RelativeSizeSpan(0.75f), 2, 3, 0);
        span.setSpan(new RelativeSizeSpan(0.72f), 3, 6, 0);
    
        spannableTextView.setText(span);
    
        // WITHOUT SPANNABLE STRING
    
        hourTextView.setText(calendar.get(Calendar.HOUR_OF_DAY) + "H");
    
        minuteTextView.setText(calendar.get(Calendar.MINUTE) + "M");
    
    }
    

    布局文件

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="By spannable string in Code"
        android:textColor="#0F0"
        android:textSize="20sp" />
    
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:textSize="25sp" />
    
     <TextView
         android:layout_marginTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="By TextSize in XML"
        android:textColor="#0F0"
        android:textSize="20sp" />
    
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    
        <TextView
            android:id="@+id/textViewHour"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            android:textSize="25sp" />
    
        <TextView
            android:id="@+id/textViewMinute"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            android:textSize="18sp" />
    </LinearLayout>
    

    现在你可以选择你想要的方式