Динамические кнопки направления в Android - PullRequest
0 голосов
/ 10 мая 2011

Я сделал свой интерфейс с .xml, но я хочу динамически указывать направление для кнопки.Например;

 <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <Button 
         android:id="@+id/backbutton"
         android:text="TEST123"
         android:layout_x="120px"
         android:layout_y="120px"
         android:layout_width="100px"
         android:layout_height="100px" />
    </AbsoluteLayout>

Тогда мой класс активности менял что-то динамически, вот так.

    AbsoluteLayout al = new AbsoluteLayout(this);
    Button t = new Button(this);
    t.setHeight(300);
    t.setWidth(300);
    t.setText("TEST123");
    // x y ???
    setContentView(al);

Я изменил высоту и ширину .. но я не смог найтипуть к измененным направлениям x и y.

Ответы [ 2 ]

1 голос
/ 10 мая 2011

попытка setPadding(int top,int left,int right,int bottom) метод.

AbsoluteLayout al = new AbsoluteLayout(this);
    Button t = new Button(this);
    t.setHeight(300);
    t.setWidth(300);
    t.setText("TEST123");
    t.setPadding(120,120,0,0);
    setContentView(al);

Я не уверен, как подходят другие ваши элементы экрана, но я просто предположил, что кнопка - единственный элемент, который у вас есть на экране.

0 голосов
/ 10 мая 2011

Кстати, вы знаете, 1 падение = сколько пикселей?

С http://developer.android.com/guide/practices/screens_support.html:

Плотно-независимый пиксель (dp) - Виртуальный пиксельный модуль, который приложения могут использовать при определении своего пользовательского интерфейса для выражения размеров макета или положения независимо от плотности.

Плотно-независимый пиксель эквивалентен одному физическому пикселю на экране с разрешением 160 точек на дюйм, базовой плотности, принятой платформой (как описано далее в этом документе). Во время выполнения платформа прозрачно обрабатывает любое масштабирование необходимых dp-единиц на основе фактической плотности используемого экрана. Преобразование единиц dp в пиксели экрана очень просто: пиксели = dps * (плотность / 160). Например, на экране с разрешением 240 dpi 1 dp будет равен 1,5 физических пикселей. Настоятельно рекомендуется использовать единицы измерения dp для определения пользовательского интерфейса вашего приложения, чтобы обеспечить правильное отображение пользовательского интерфейса на разных экранах.

...