Как показать элементы управления в фиксированном положении для различных разрешений экрана в Android? - PullRequest
0 голосов
/ 22 декабря 2009

Как показать элементы управления в фиксированном положении для различных разрешений экрана в Android?

У меня есть дизайн экрана, как показано ниже

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:gravity="center_horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical"
   android:background="@drawable/img_background_loadbackground">
<TableRow>
<TextView
   android:id="@+id/tv1"
   android:layout_width="fill_parent" 
   android:layout_height="300sp"/>
</TableRow>

<TableRow>
</TableRow>
<ProgressBar 
   android:id="@+id/progressbar" 
   style="?android:attr/progressBarStyleHorizontal" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" />
</TableLayout>

Он работает в разрешении HVGA (320x480), индикатор выполнения отображается в нижней части экрана, но если я запускаю в другом разрешении (WQVGA432 - 240x432), индикатор выполнения отображается в центре экрана. Я не могу показать это в фиксированной позиции.

Я использую файл манифеста, показанный ниже, но не вывод

<supports-screens android:smallScreens="true"  
                android:normalScreens="true" 
                android:largeScreens="true"  
                android:anyDensity="true" />

У меня нет решения, поэтому, пожалуйста, дайте мне некоторую идею, чтобы решить эту проблему.

Ответы [ 3 ]

1 голос
/ 22 декабря 2009

Если вы хотите, чтобы ваши макеты работали на экранах с разным разрешением, вы должны определить их размер, используя dip в качестве единицы измерения. Например:

android:layout_marginRight="10dip"

dip означает независимый от устройства пиксель, и использование их в макете означает, что Android автоматически масштабирует макет в зависимости от того, какой дисплей имеет устройство, на котором работает ваше приложение.

Вы можете прочитать об этом на странице Поддержка нескольких экранов в Документации для разработчиков Android . В этом документе также есть несколько других опций для работы с различными дисплеями, но я думаю, что использование dip, вероятно, самое простое.

0 голосов
/ 22 декабря 2009

Я бы предположил, что если в середине у вас что-то вроде:

android:layout_gravity="center"

Но, да, размещение вашего XML было бы немного полезным!

0 голосов
/ 22 декабря 2009

Это зависит от того, как вы определили свой макет: публикация вашего макета XML поможет здесь.

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