Android: Как вы определяете кнопки и другие виджеты вне макета? - PullRequest
0 голосов
/ 13 декабря 2011

Таким образом, вы обычно определяете макет XML с одним корневым узлом и всеми кнопками и тому подобным, содержащимися внутри. Но если вы хотите просто определить кнопки где-нибудь, чтобы потом можно было ссылаться на их идентификаторы, чтобы перемещать их, где / как вы это делаете?

Я задаю этот вопрос, потому что я пытаюсь использовать поле "android: foreground" в FrameLayout. Поэтому я хочу указать это на идентификатор кнопки (или другого виджета), который я определил. Но где я могу определить эту кнопку (или другой виджет)? Если бы я просто определил его как обычно, разве это не закончилось бы тем, что появилось где-то там, где я этого не хочу?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011

Просто определите вашу кнопку в my_button.xml файле в папке res/layout с любыми атрибутами:

<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/button"
    android:layout_width="40dp"
    android:layout_height="50dp"
    android:layout_margin="2dp"
    android:layout_gravity="center"
    ... 
    style="@style/MyStyle" />

А затем надуйте его, когда необходимо:

    getLayoutInflater().inflate(R.layout.my_button, null);
0 голосов
/ 13 декабря 2011

android: передний план добавляет рисование поверх макета в качестве наложения.Вы помещаете Drawable в / Res / Drawable

Что касается кнопок, вы всегда можете кодировать их в Java

...