Android ImageButton на разных экранах - PullRequest
0 голосов
/ 19 марта 2012

В пользовательском интерфейсе для моего приложения 5 ImageButton все нормально на 3,7-дюймовом экране, но если у меня экран 2,7 ", 3,0" или другой, мой пользовательский интерфейс не будет масштабироваться, и он выглядит плохо.это:

3,7 "

enter image description here

2,7"

enter image description here

Как мне сделатьвсе они хорошо выглядят на всех экранах, как на экране 3.7 "?

Код: main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/Background"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/two"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/LL"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="150dp"
        android:orientation="vertical"
        android:scaleType="fitXY" >

        <ImageButton
            android:id="@+id/ibTest1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:background="@drawable/one" />

        <ImageButton
            android:id="@+id/ibTest2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:background="@drawable/one" />

        <ImageButton
            android:id="@+id/ibTest3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:background="@drawable/one" />

        <ImageButton
            android:id="@+id/ibTest4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:background="@drawable/one" />

        <ImageButton
            android:id="@+id/ibTest5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:background="@drawable/one" />
    </LinearLayout>

</RelativeLayout>

Ответы [ 5 ]

1 голос
/ 19 марта 2012

Используйте RelativeLayout, а затем поместите LinearLayout с высотой wrap_content и поместите кнопки внутри этого LinearLayout.Также используйте dp вместо px для размеров.

PS Если вы опубликуете код вашего макета, мы можем помочь вам лучше.

ИЗД.Я могу показать вам, что я хотел сказать своим ответом:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/Background"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/two"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/LL"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:orientation="vertical"
        android:gravity="center"
        android:layout_centerInParent="true" >

        <ImageButton
            android:id="@+id/ibTest1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/one" />

        <ImageButton
            android:id="@+id/ibTest2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/one" />

        <ImageButton
            android:id="@+id/ibTest3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/one" />

        <ImageButton
            android:id="@+id/ibTest4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/one" />

        <ImageButton
            android:id="@+id/ibTest5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/one" />
    </LinearLayout>

</RelativeLayout>
0 голосов
/ 19 марта 2012

попробуйте добавить в каждое изображение в формате xml

  android:adjustViewBounds="true"
  android:scaleType="centerCrop"
0 голосов
/ 19 марта 2012

Убедитесь, что вы используете dp вместо 'px' .. Это общая причина.

0 голосов
/ 19 марта 2012

Первый образ для всех

MDPI, ИПЧР, ldpi

по размеру.

Возьмите Lineatlayout в центре только для кнопок.

затем установите свойство gravity = "Center";

0 голосов
/ 19 марта 2012

Можете ли вы предоставить код?Может быть, попробуйте добавить в XML

android:scaleType="fitXY"
...