H5W3
当前位置:H5W3 > 其他技术问题 > 正文

TextClock怎么默认英文显示?

TextClock怎么样默认英文??
例如AM PM 星期 日期 那些,切换系统语言之后,TextClock显示也会变了,中文
时候显示 上午 下午, 韩语时候显示的是韩文了,可以只显示英语吗,不收系统语言影响。

回答

You can do it with writing a custom TextClock and setting Locale in it. Try this:

public class MyTextClock extends android.widget.TextClock {

    public MyTextClock(Context context) {
        super(context);
        setLocaleDateFormat();
    }

    public MyTextClock(Context context, AttributeSet attrs) {
        super(context, attrs);
        setLocaleDateFormat();
    }

    public MyTextClock(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setLocaleDateFormat();
    }

    private void setLocaleDateFormat() {
        // You can change language from here
        Locale currentLocale = new Locale("en");
        Calendar cal = GregorianCalendar.getInstance(TimeZone.getDefault(), currentLocale);

        String dayName = cal.getDisplayName(cal.DAY_OF_WEEK, Calendar.LONG, currentLocale);
        String monthName = cal.getDisplayName(cal.MONTH, Calendar.LONG, currentLocale);

        this.setFormat12Hour("'" + dayName + "'\n'" + monthName + "' dd");
        this.setFormat24Hour("'" + dayName + "'\n'" + monthName + "' dd");
    }
}

Implement this custom TextClock to your layout like that:

<com.your.package.MyTextClock
    android:id="@+id/date"
    style="@style/DateStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"/>

Here you go. Good luck.

未经允许不得转载:H5W3 » TextClock怎么默认英文显示?

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址