Intereting Posts
TTS-UtteranceProgressListener не вызывается Что делает -webkit-text-size-adjust? Возможно ли установить JDK на устройство Android? Студия Android Где установить файл NDK? (Загрузите его в zip) Сгенерированный класс Dagger2 неожиданно отсутствует в Android Studio Мне нужно иметь собственный диалог в настройках Android: всплывающее окно с ошибкой в ​​EditText не сдвигается вниз, когда клавиатура уходит Что считается onPageFinished в Android WebViewClient? Веб-просмотр Android с помощью GSAP: попытка удалить локальную ссылку, отличную от JNI, сбросить поток Приложение для Android, подключающееся к веб-сервису – не работает Не удается установить пакет Android Studio Bundle? «Невозможно повысить сообщение об ошибке» Почему adb возвращается в автономный режим после строки устройства? Android url override не работает для перенаправления Ошибка сборки: эмулятор сэндвича мороженого на Ubuntu Могу ли я остановить HTTPResponseCache, работая как общий кэш в отношении заголовков Cache-Control?

Android отзывчивый макет

Я создаю приложение (калькулятор). Я использую таблицу с кнопками внутри. Он отлично смотрится на экране Samsung Galaxy II, однако на больших экранах он выглядит очень плохо. Кнопки высотой очень маленькие. Как я могу растянуть кнопки на больших экранах?

Макет XML ниже:

<ScrollView xmlns:android="http://schemas.an xmlns:tools="http://schemas.android.com/ android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="right" android:paddingBottom="@dimen/activity_v android:paddingLeft="@dimen/activity_hor android:paddingRight="@dimen/activity_ho android:paddingTop="@dimen/activity_vert tools:context=".MainActivity" > <TableLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="right" > <TableRow android:id="@+id/tableRow1" android:layout_width="match_parent" android:layout_height="0dp"> <Button android:id="@+id/Button01" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="fill_pare android:text="@string/button_1" android:visibility="visible" /> <Button android:id="@+id/Button02" android:layout_width="0dp" android:layout_weight="0.34" android:layout_height="fill_pare android:text="@string/button_2" <Button android:id="@+id/Button03" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="fill_pare android:text="@string/button_3" </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="match_parent" android:layout_height="0dp" > <Button android:id="@+id/Button04" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="fill_parent" android:text="@string/button_4" /> <Button android:id="@+id/Button05" android:layout_width="0dp" android:layout_weight="0.34" android:layout_height="fill_parent" android:text="@string/button_5" /> <Button android:id="@+id/Button06" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="fill_parent" android:text="@string/button_6" /> </TableRow> <TableRow android:id="@+id/tableRow3" android:layout_width="match_parent" android:layout_height="0dp" > <Button android:id="@+id/Button07" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="fill_pare android:text="@string/button_7" <Button android:id="@+id/Button08" android:layout_width="0dp" android:layout_weight="0.34" android:layout_height="fill_pare android:text="@string/button_8" <Button android:id="@+id/Button09" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="fill_pare android:text="@string/button_9" </TableRow> <TableRow android:id="@+id/tableRow4" android:layout_width="match_parent" android:layout_height="0dp" > <Button android:id="@+id/ButtonUndo" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="fill_pare android:text="@string/button_und <Button android:id="@+id/Button00" android:layout_width="0dp" android:layout_weight="0.34" android:layout_height="fill_pare android:text="@string/button_0" <Button android:id="@+id/ButtonCheck" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="fill_pare android:text="@string/button_che </TableRow> <TableRow android:id="@+id/ResTable" android:layout_width="match_parent" android:layout_height="0dp" > <TableLayout android:layout_weight="0.3" android:id="@+id/table_score_cor <TableRow android:id="@+id/tableRow5_11" android:layout_width="wrap_conte android:layout_height="fill_pare android:gravity="center_vertical <TextView android:id="@+id/labelCorrec android:layout_width="wrap_c android:layout_height="fill_ android:ems="4" android:text="@string/correc android:gravity="center_vertic android:textSize="15sp" /> </TableRow> <TableRow android:id="@+id/tableRow5_12" android:layout_width="wrap_conte android:layout_height="0dp" > <TextView android:id="@+id/scoreCorr android:layout_width="0dp" android:layout_height="fil android:ems="4" android:gravity="center_ve android:text="" android:textSize="30sp" android:textStyle="bold" / </TableRow> </TableLayout> <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content android:layout_height="fill_parent android:layout_weight="0.3" android:contentDescription="@strin android:fitsSystemWindows="true" android:scaleType="fitCenter" android:src="@drawable/trees" /> <TableLayout android:id="@+id/table_score_inc android:layout_weight="0.3"> <TableRow android:id="@+id/tableRow5_21" android:layout_width="wrap_conte android:layout_height="fill_pare android:gravity="center_vertical <TextView android:id="@+id/labelIncorrec android:layout_width="wrap_con android:layout_height="fill_pa android:ems="4" android:text="@string/incorrec android:gravity="center_vertic android:textSize="15sp" /> </TableRow> <TableRow android:id="@+id/tableRow5_22" android:layout_width="wrap_conte android:layout_height="fill_pare <TextView android:id="@+id/scoreInco android:layout_width="0dp" android:layout_height="fil android:ems="4" android:gravity="center_ve android:text="" android:textSize="30sp" android:textStyle="bold" / </TableRow> </TableLayout> </TableRow> <TableRow android:id="@+id/tableRow_menu" android:layout_width="wrap_content android:layout_height="fill_parent <Button android:id="@+id/ButtonPlus" android:layout_width="0dp" android:layout_height="38dp" android:layout_weight="0.25" android:text="@string/action_p <Button android:id="@+id/ButtonMinus" android:layout_width="0dp" android:layout_height="38dp" android:layout_weight="0.25" android:text="@string/action_m <Button android:id="@+id/ButtonMult" android:layout_width="0dp" android:layout_height="38dp" android:layout_weight="0.25" android:text="@string/action_m <Button android:id="@+id/ButtonDivide" android:layout_width="0dp" android:layout_height="38dp" android:layout_weight="0.25" android:text="@string/action_d </TableRow> </TableLayout> </ScrollView> 

Solutions Collecting From Web of "Android отзывчивый макет"

Кроме того, вам необходимо создать различные макеты / чертежи для поддержки всех экранов. Это зависит от вашего требования, скажем, например, если вы хотите включить 2 кнопки на маленьком экране и 4 кнопки на больших экранах, тогда очевидно, что вам нужно создавать разные макеты.

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

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

Больше исследований:

  1. http://developer.android.com/guide/practices/screens_support.html
  2. Поддержка различных размеров экрана
  3. Поддержка различных плотностей
  4. Внедрение адаптивных потоков пользовательского интерфейса

Я рекомендую вам прочитать эту документацию http://developer.android.com/guide/practices/screens_support.html .

Или в этой статье «Проектирование для нескольких экранов» http://developer.android.com/training/multiscreen/index.html