私は右側になりたいヘブライ語のTextViewを持っているので、やっています
<TextView....
android:gravity="right"
</TextView>
一部の電話では右に配置され、一部の電話では左に配置されます。電話の設定次第だと思います。どうすれば修正できますか??
ありがとう。
これは問題になる可能性があります。Android の問題ページにない場合は、報告することを検討してください。
今のところTextView、 a の中に配置して修正を試みることができますViewGroup。wrap_contentとを使用して、layout_gravity親の中に正しく配置します。
Android: Gravityandroid:layout_heightまたはandroid:layout_weightが に設定されている場合、正しく動作しない可能性がありますwrap_content。
Android は現在、BiDi テキストをサポートしていません。一部のメーカーはそれをハッキングしていますが、これがプラットフォームの標準部分になるまでは、BiDi テキストを使用すると、一貫性のない、壊れた動作が発生することが予想されます。ごめん。
これは、古いバージョンの Android が rtl を十分にサポートしていないために発生しています。私にとって最終的に機能したのはwebviewでした。それは、CSS を使用してテキストをデザインしたからです。クリックしたときに何かをしたい場合は、 onTouchListener も必要です。
TextView を Webview に変更します。
<WebView
android:id="@+id/noticetit"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
私のコード:
WebView webView = (WebView) findViewById(R.id.noticetit);
private void setWebView() {
String htmlcss = "<html lang=\"he\"><head><meta charset=\"utf-8\" />"
+ "<style type=\"text/css\">.rtl {direction: rtl;color:black;font:20px arial;}</style></head>"
+ "<body class=\"rtl\"><div class=\"rtl\">" + webView
+ "</div></body></html>";
webView.loadDataWithBaseURL(null, htmlcss, "text/html", "utf-8", null);
webView.setOnTouchListener(new OnTouchListener() {
// Removed @Override
public boolean onTouch(View v, MotionEvent event) {
if (v.getId() == R.id.maintitle
&& event.getAction() == MotionEvent.ACTION_DOWN) {
//Put your code here
}
return false;
}
});
}
これがあなたを助けることを願っています!
私は解決策を見つけました。テキストがヘブライ語の場合、重力を設定する必要はありません。右側にあるビューでラテン記号を見たときに、これにたどり着きました。ただし、SDK レイアウト エディターにはまだバグがあります。
LG GT540 および Samsung Galaxy S でテスト済み
テキストを右揃えにしたい場合は、これを試してください:
textView.setText("\u200F"+content);
私はこれがあなたが探しているものだと思います:
android:layout_gravity="right"