相关疑难解决方法(0)

使用TextView进行希伯来语文本的Android设置?

我在字符串资源中设置TextView中的文本.通常,希伯来语以从右到左的格式运作.当我设置文本时,它在LG,三星,索尼手机中设置文本从右到左格式,但在HTC中它不起作用.它在HTC中以从左到右的格式工作.甚至我将Gravity设置为Java文件中的TextView.

TextView中的文本应根据屏幕大小进行调整.例如,如果它是320 x 480,那么它显示为4行,但如果它是Galaxy Tab,那么可能有2行.

这是我的代码段:

在Java中:

private TextView mVersionInfo, mVersionDescriptionOne, mVersionDescriptionTwo, mVersionDescriptionThree;

mVersionInfo = (TextView)findViewById(R.id.VersionInfo);
mVersionDescriptionOne = (TextView)findViewById(R.id.VersionDesc1);
mVersionDescriptionTwo = (TextView)findViewById(R.id.VersionDesc2);
mVersionDescriptionThree = (TextView)findViewById(R.id.VersionDesc3);

mVersionDescriptionOne.setGravity(Gravity.RIGHT);
mVersionDescriptionTwo.setGravity(Gravity.RIGHT);
mVersionDescriptionThree.setGravity(Gravity.RIGHT);
Run Code Online (Sandbox Code Playgroud)

在XML中:

<TextView android:id="@+id/VersionDesc1"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="@string/versiondesc1" android:textColor="#000000"
        android:layout_marginTop="5dip" android:gravity="right"
        android:layout_alignParentRight="true" android:layout_marginRight="10dip"
        android:layout_below="@+id/Share" android:textSize="13sp"
        android:layout_alignRight="@+id/Body" />
    <TextView android:id="@+id/VersionDesc2"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="@string/versiondesc2" android:textColor="#000000"
        android:layout_alignParentRight="true" android:layout_marginRight="10dip"
        android:layout_below="@+id/VersionDesc1" android:textSize="13sp"
        android:layout_marginTop="5dip" android:gravity="right"
        android:layout_alignRight="@+id/Body" />
    <TextView android:id="@+id/VersionDesc3"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="@string/versiondesc3" android:textColor="#000000"
        android:layout_alignParentRight="true" android:layout_marginRight="10dip"
        android:layout_below="@+id/VersionDesc2" android:textSize="13sp"
        android:layout_marginTop="5dip" android:gravity="right"
        android:layout_alignRight="@+id/Body" />
Run Code Online (Sandbox Code Playgroud)

在字符串资源中:

<string name="versiondesc1">????????? ?????? ???? ???? ??????? ??? ????? …
Run Code Online (Sandbox Code Playgroud)

android hebrew textview settext

8
推荐指数
1
解决办法
2万
查看次数

如何以编程方式更改语言?

我想以编程方式更改语言.

所以我构建了两个xml文件.

values-it
-->string.xml

values-en
-->string.xml
Run Code Online (Sandbox Code Playgroud)

这是MainActivity中用于更改整个应用程序语言的代码:

//意大利

Resources res = getApplicationContext().getResources();
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.locale = new Locale("it");
res.updateConfiguration(conf, dm);
Run Code Online (Sandbox Code Playgroud)

//英语

Resources res2 = getApplicationContext().getResources();
DisplayMetrics dm2 = res2.getDisplayMetrics();
android.content.res.Configuration conf2 = res2.getConfiguration();
conf2.locale = new Locale("en");
res2.updateConfiguration(conf2, dm2);
Run Code Online (Sandbox Code Playgroud)

现在,如果我设置英语(例如),代码执行时没有错误,但标签不会更改其文本.
如果我更改设备的方向,标签会正确更改其文本.

现在我如何修改我的代码以自动刷新标签?

android localization

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×2

hebrew ×1

localization ×1

settext ×1

textview ×1