2016-08-07 7 views
0

私はActivityクラスで次の行で、画面の右上隅にダイアログを表示しようとしています:アンドロイドのGravity.ENDとGravity.RIGHTの違いは?

dialog.getWindow().getAttributes().gravity= Gravity.RIGHT|Gravity.TOP 

これが正常に動作します。しかし、私は私のプロジェクトでリントを実行することにより、任意の矛盾のためのコードをチェックすると、それは右で正しい動作を保証するために、代わりに「『Gravity.RIGHT』」の

使用「『Gravity.END』を」旨の提案を示してい左へのロケール

私の質問: Gravity.ENDとGravity.RIGHTと右から左へのロケールがどういう意味の違いは何ですか?
TIA

+0

アラビア語とペルシア語ロケール終了は残されていますが、英語以外の多くのロケール終了は正しいことを意味します –

答えて

1

あなたは=「開始」重力を使うだけでなく、layout_marginStart可能性があるあなたは=「右」重力を利用することはできませんが、重力は=ではなく、あなたが重力に適用されるのと同じ考え方は=「左」「END」 layout_marginLeftの代わりに。 Androidは、場所に応じてテキストを「開始」方向に配置します。 (私たちの多くは、左から書いて、右は終わりますが、アラビア人は右から始まり、左に終わります)。

Read more about this here

1

このissue trackerによれば、最近のAndroidメーカー0.8.10で修正されたバグです。

この検査を無効にするオプションは、[プロジェクトの設定] | [検査| Androidリント|開始/終了属性の代わりに左/右を使用します。したがって、ボックス全体のチェックを外すだけで、プロジェクト全体に対して無効にすることができます。

関連する問題