Общий интерфейс для всех устройств, независимо от размера
Мое приложение отлично работает на телефоне, но когда я запускаю его на пользовательском интерфейсе TAB, оно становится слишком маленьким. Но я хочу, чтобы размер пользовательского интерфейса был относительно размера устройства. Нужно ли что-нибудь добавить в манифест. Что неправильно я делаю. Вот мой XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select The Game Level" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Level1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="level2" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="level3" />
</LinearLayout>
Handset UI appearence
Tablet UI appearence
1 ответ
Давайте попробуем изучить ваши предположения здесь:
Размер ваших кнопок установлен на "wrap_content". Это означает, что это зависит от размера текста, который он переносит.
Вы хотите, чтобы ваши кнопки изменяли визуальный размер в зависимости от визуального размера экрана, на котором отображается ваше приложение.
Therfore: вы ожидаете, что размер шрифта изменится в зависимости от экрана вашего устройства.
Я не чувствую, что это правильный подход к достижению того, что вы хотите. Здесь вам могут помочь несколько инструментов, давайте рассмотрим один из них: атрибут weight: что означает android: layout_weight?
Вот пример массива кнопок, которые выглядели бы визуально одинаково на любом экране (здесь акцент делается на "аналог". Но это то, чего вы пытаетесь достичь):
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnMainMenuTestUSB"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button1" />
<Button
android:id="@+id/btnMainMenuSetLocationNew"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button2" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnLineOfSight"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button3" />
<Button
android:id="@+id/btnTargetScreen"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button4" />
</LinearLayout>