Поля кнопок в линейном макете - PullRequest
3 голосов
/ 20 января 2011

Я создаю несколько кнопок и добавляю их к линейному макету, который определяется как

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/mylayout">

    </LinearLayout>

Кнопки создаются с помощью

for (int i = 0; i < 3; i++)

    {
        Button btn = new Button(activity);
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT);
        lp.setMargins(1, 1, 1, 1);

        btn.setText("Button");
        btn.setPadding(0, 0, 0, 0);

        mylayout.addView(pv, lp);

    }

Эти кнопки всегда имеют поле (около3px), который я хотел бы удалить.Есть ли что-то, что я пропускаю?Если я использую пользовательское представление, которое я создал, между ними нет пробела.

Должен ли я установить

lp.setMargins (-3, -3, -3, -3);

что убирает маржу?Есть ли у этого недостаток?

Ответы [ 2 ]

11 голосов
/ 20 января 2011

Я не думаю, что у них есть запас, но это связано с фоном кнопки.Возможно, фон кнопки по умолчанию имеет изображение, подобное этому:

http://developer.android.com/guide/developing/tools/draw9patch.html

, которое включает в себя фантастические поля.Здесь вы можете найти больше информации о 9-патче.

http://developer.android.com/guide/topics/resources/drawable-resource.html

По моему мнению, если вы хотите удалить "поля", вы должны создать другой фон для изображения, потому чтоЗначение -3 не является хорошим решением (IHMO).

0 голосов
/ 20 января 2011

Почему вы используете параметры макета .. просто добавьте представление после его создания ... Это, безусловно, решит проблему

для (int i = 0; i <3; i ++) </p>

{
    Button btn = new Button(activity);


    btn.setText("Button");


    mylayout.addView(pv);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...