Мне нужно добавить несколько кнопок на LinearLayout. Но я хочу, чтобы эти кнопки отображали 5px друг от друга. Я не мог найти способ установить край кнопки. Любая идея?
Как добавить маржу к кнопке во время выполнения?
Ответ 1
Используйте свойство layout_margin элемента кнопки. Это не работает?
<Button android:layout_margin="5px" (...)/>
Изменить
При создании кнопки в java LayoutParams используется для указания полей и т.д.
Button button = new Button();
(....)
params = new LinearLayout.LayoutParams();
params.leftMargin = 5;
(set params as you need)
parent.addView(button, params);
Используемые LayoutParams должны соответствовать макету, в который вы добавляете свою кнопку (см. http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html). Для LinearLayout используйте LinearLayout.LayoutParams и установите поля поля * соответственно.
Ответ 2
Попробуйте следующее:
//Assuming your button is in a LinearLayout as stated
LinearLayout.LayoutParams params = myButton.getLayoutParams();
params.setMargins(0, 0, 0, 0) //left, top, right, bottom
myButton.setLayoutParams(params);
Ответ 3
MarginLayoutParams params = (MarginLayoutParams) vector8.getLayoutParams();
params.width = 200; params.leftMargin = 100; params.topMargin = 200;
vector8.setLayoutParams(params);
Нужно использовать тип: MarginLayoutParams
Ответ 4
Добавление прокладки к кнопкам также решит вашу проблему. Проверь это http://developer.android.com/resources/tutorials/views/hello-formstuff.html#CustomButton
Ответ 5
используйте этот код для установки поля во время выполнения
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) btnContainer.getLayoutParams();
params.setMargins(5, 50, 10, 0); //left, top, right, bottom
view_whwre_set_margin.setLayoutParams(params);