макет Android испорчен на телефоне - PullRequest
0 голосов
/ 23 ноября 2011

Я сделал свой макет на основе эмулятора, но просто запустил свое приложение на реальном устройстве, и весь макет испортился.Я не знаю, как это исправить.вот код моего xml-файла,

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="23dip"
    android:layout_marginRight="15dip"
    android:layout_marginTop="255dip"
    android:orientation="vertical" >

    <TextView
        android:layout_width="276dp"
        android:layout_height="132dp"
        android:textSize="15dp"
        android:gravity="center_vertical"
        android:text="some text"
        android:textColor="#4C2016"/>

    <Button
        android:id="@+id/special"
        android:layout_width="131dp"
        android:layout_height="40dp"
        android:background="@drawable/cc"
        android:layout_marginTop="20dip"
        android:layout_marginLeft="75dip"
        android:textSize="17dp"
        android:textStyle="bold"
        android:text="Specials"
        android:textColor="#F6E6C6" />
</LinearLayout>

`

Было бы здорово, если бы кто-нибудь подскажет, как исправить этот код

Вот снимоко том, как это выглядит в XML-файле

enter image description here

Вот как это выглядит на телефоне,

enter image description here

изображение и текст оранжевого цвета являются частью фонового изображения, а текстовое представление и кнопка добавляются в представление.

Ответы [ 2 ]

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

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

Вместо того, чтобы в зависимости от поля иметь текст под изображением ('android: layout_marginTop = "255dip"), вы можете поместить изображение в ImageView. Ваш TextView будет расположен ниже изображения. Точно отрегулируйте расстояние, используя нижнее поле для просмотра изображения или верхнее поле для просмотра текста.

Используйте 'wrap_content' для * layout_height * TextView и 'fill_parent' для * layout_width * вместо фиксированных значений.

Также - замените «match_parent» на «fill_parent», если ваше приложение предназначено для API ниже 8.

<LinearLayout>
    <ImageView/>
    <TextView/>
    <Button/>
</LinearLayout>
0 голосов
/ 27 ноября 2011

Какой уровень API вы используете?Потому что я вижу, что вы используете "fill_parent" и "match_parent" в одном файле.Начиная с уровня API 8, fill_parent заменяется на math_parent.У меня также были проблемы с использованием match_parent в проекте с уровнем API ниже 8 (который не распознан "), и наоборот, fill_parent вызывает проблемы с макетом в проекте с API 8 или выше.

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

Приятной разработки!

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