#android #android-layout
#Android #android-layout
Вопрос:
В CSS можно установить разные отступы для верхнего, правого, нижнего и левого, используя следующий оператор в 1 строку:
padding: 5px,10px,15px,5px;
Мне было интересно, есть ли способ сделать то же самое при реализации макета в Android XML. В настоящее время, чтобы достичь того же результата (используя dp
вместо px
), я делаю это таким образом:
android:paddingTop="5dp";
android:paddingRight="10dp";
android:paddingBottom="15dp";
android:paddingLeft="5dp";
Итак, есть ли способ выполнить вышеописанное в одной инструкции? Например:
android:padding="5dp,10dp,15dp,5dp";
Ответ №1:
Да, но вы не можете сделать это в XML, но вы можете сделать это в своем Java-коде
btn_submit.setPadding(5,10,7,8);
Комментарии:
1. Достаточно справедливо, но я бы не хотел устанавливать все остальное в xml и повторно сортировать в Java, чтобы установить отступы таким образом. Вот почему я надеялся, что будет XML-решение.
Ответ №2:
Вы можете сделать это на Java (и если вы хотите, чтобы ваши значения были в dp):
float dp5 = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5, getResources().getDisplayMetrics());
view.setPadding(dp5, dp5*2, dp5*3, dp5);