Координаты кнопок Android Java
Я хочу изменить размер кнопок, если экран большой. Так что я сделал это с помощью этого метода. Я получил размер экрана и поставил ширину кнопки screenWidth/4 . Но сейчас я не могу поставить кнопки. Я использовал относительное расположение, и я положил их положение из xml, но когда я изменяю их размеры, они лежат друг на друге в позиции 0,0.
Вот XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/pink"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.vahe_muradyan.yourquote.MainActivity" >
<Button
android:id="@+id/openCamera"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="71dp"
android:background="@drawable/roundbuttom"
android:text="@string/camera" />
<Button
android:id="@+id/openGallery"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignLeft="@+id/openDefaults"
android:layout_below="@+id/openDefaults"
android:layout_marginTop="43dp"
android:background="@drawable/roundbuttom"
android:text="@string/gallery" />
<Button
android:id="@+id/openDefaults"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignLeft="@+id/openCamera"
android:layout_centerVertical="true"
android:background="@drawable/roundbuttom"
android:text="@string/defaults" />
</RelativeLayout>
Я загрузил изображения на Nexus S и Nexus 10 .
1 ответ
Добавить размеры на размер экрана
вам нужно создать в папке res новые папки с именем
Значения-sw600dp
и в папке нормальных значений создайте XML-файл с именем
dimens.xml
в этот файл напишите
<dimen name="button_width">70dp</dimen>
<dimen name="button_height>70dp</dimen>
<dimen name="button_text_size">14sp</dimen>
в ваших значениях-sw600dp создайте еще один файл измерения.xml
в нем напиши
<dimen name="button_width">140dp</dimen>
<dimen name="button_height>140dp</dimen>
<dimen name="button_text_size">20sp</dimen>
// играем с размерами, чтобы найти подходящую
в вашем XML-файле напишите это:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/pink"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.vahe_muradyan.yourquote.MainActivity" >
<Button
android:id="@+id/openCamera"
android:layout_width="@dimen/button_width"
android:layout_height="@dimen/button_height"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="71dp"
android:background="@drawable/roundbuttom"
android:textSize="@dimen/button_text_size"
android:text="@string/camera" />
<Button
android:id="@+id/openGallery"
android:layout_width="@dimen/button_width"
android:layout_height="@dimen/button_height"
android:textSize="@dimen/button_text_size"
android:layout_alignLeft="@+id/openDefaults"
android:layout_below="@+id/openDefaults"
android:layout_marginTop="43dp"
android:background="@drawable/roundbuttom"
android:text="@string/gallery" />
<Button
android:id="@+id/openDefaults"
android:layout_width="@dimen/button_width"
android:layout_height="@dimen/button_height"
android:textSize="@dimen/button_text_size"
android:layout_alignLeft="@+id/openCamera"
android:layout_centerVertical="true"
android:background="@drawable/roundbuttom"
android:text="@string/defaults" />
</RelativeLayout>
Система выберет правильные значения в зависимости от устройства, на котором вы запускаете приложение.
Кнопки будут достаточно большими (при условии, что вы дадите хорошие значения в файле values-sw600dp/ sizess.xml)
Это дерево папок:
повеселись!