Android - Как разместить кнопку на определенной позиции на экранах различной плотности с помощью XML - PullRequest
3 голосов
/ 20 марта 2012

Я ищу способ разместить кнопку в определенном месте с помощью XML.

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

Я хотел бы работать даже при изменении плотности экрана.

Я пытался использовать android: layout_marginLeft = "10dp", но он не отображается в том же положении, когда я понижаю плотностьот 240 до 120. На странице разработчиков androids говорится, что dp следует использовать, и он будет масштабироваться вместе с экраном, который в этом случае, похоже, не равен.

Получен следующий код atm для кнопки:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/yowie_meny_utan_knappar">


<Button
    android:id="@+id/Button04"
    android:layout_width="100dp"
    android:layout_height="73dp"
    android:layout_gravity="center"
    android:layout_marginTop="200dp"
    android:layout_marginLeft="50dp"
    android:background="@drawable/play_button"
    >
  </Button>

1 Ответ

2 голосов
/ 20 марта 2012

Посмотрите на приведенный ниже код, который помещает кнопку точно в середину экрана:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <Button 
    android:layout_centerInParent="true" 
    android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</RelativeLayout>

Если я все еще хочу, чтобы кнопка находилась немного ниже середины, один хороший способ -знаю, что в качестве контрольной точки для кнопки следует использовать пустой текстовый просмотр.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >


    <TextView  android:layout_centerInParent="true" android:layout_width="wrap_content" android:id="@+id/textView1" 
     android:layout_height="wrap_content" android:text=" " ></TextView>
    <Button 
     android:layout_marginTop="5dip"
     android:layout_centerHorizontal="true"
    android:text="Button" android:layout_below="@id/textView1" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

</RelativeLayout>

Измените значение android:layout_marginTop="5dip" для вашего удобства.

...