Как программно установить свойство layout_weight в Android

мая
17
2012

Если Вы создаете программно интерфейс в приложении для платформы Android, то часто бывают необходимы свойства, которые являются частью xml-разметки. Одним из таких свойств является свойство layout_weight. О том, как его задать программно и будет рассказано в этой ствтье.

Свойство layout_weight отвечает за перераспределение оставшегося свободного места. Например, следующей разметкой мы указываем, что TextView будет занимать две трети ширины экрана, а Button - треть ширины:


<?xml version="1.0" encoding="utf-8">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="textView"
    android:layout_weight="0.67" />
<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.33" />
</LinearLayout>

Ниже пример кода для задания этого свойства программно:


TextView textView = new TextView(getContext());
textView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 0.67f));

Button button = new Button(getContext());
button .setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 0.33f));

Напишите первое сообщение!

Вы должны войти под своим аккаунтом чтобы оставлять комментарии