2016-08-07 2 views
0

Я пытаюсь показать диалоговое окно в правом верхнем углу экрана с помощью следующей строки в моем классе активность:Разница между Gravity.END и Gravity.RIGHT в android?

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

Это прекрасно работает. Но когда я проверил код для какого-либо несоответствия, запустив Lint на моем проекте он показывает предложение о том,

Использование «'Gravity.END» вместо «„Gravity.RIGHT“», чтобы обеспечить правильное поведение в право- налево локалей

Мой вопрос: в чем разница между Gravity.END и Gravity.RIGHT и что это значит правый налево локали?
ТИА

+0

на арабском и персидском языках. Левый конец оставлен, но для английского и многих других языков. –

ответ

1

Вы не можете использовать гравитационный = «право», но сила тяжести = «конец» вместо этого, та же идея применить к гравитации = «влево», который вы можете использовать гравитацию = «старт», а также layout_marginStart вместо layout_marginLeft. Android будет помещать текст в «начальную» ориентацию, в зависимости от местоположения. (для многих из нас мы начинаем писать слева, а мы заканчиваем справа, но арабцы начинаются справа и слева слева).

Read more about this here

1

Согласно этому issue tracker, это ошибка, которая была исправлена ​​в Android Studio 0.8.10 недавно.

Опцию отключения этой проверки можно найти в разделе «Настройки проекта» | Инспекции | Android Lint | Unsing влево/вправо вместо атрибутов start/end. Поэтому вы можете просто отключить его для всего проекта, сняв флажок.

Смежные вопросы