#java #android #android-layout
#java #Android #android-макет
Вопрос:
Я пытаюсь выровнять кнопку не прямо внизу экрана, а на небольшом расстоянии над нижней строкой. Как я могу это сделать? Я попытался центрировать кнопку по вертикали и горизонтали, и это работает, но мне нужно либо переместить кнопку немного ниже центра, либо немного выше нижней строки.
Мне нужно переместить кнопку «PLAY» немного ниже по экрану. Кроме того, мне также нужно немного уменьшить масштаб кнопки, чтобы она составляла 80% от ее текущего размера. Как я могу это сделать?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@ id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="acevix.gladiators3.MainActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srcCompat="@drawable/splash"
android:id="@ id/imageView"
android:scaleType="centerCrop"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:adjustViewBounds="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="50dp"
android:id="@ id/button3"
android:background="@drawable/play" />
</RelativeLayout>
Комментарии:
1. Вы пробовали PercentRelativeLayout? developer.android.com/reference/android/support/percent /…
2. Мне нужно добавить PercentRelativeLayout внутри моего RelativeLayout, в котором я буду размещать свою кнопку? Извините за, вероятно, глупый вопрос, я полный новичок
3. Не могли бы вы показать свой XML-файл, пожалуйста
4. Конечно, мне жаль, что я совсем забыл. Я редактирую сообщение прямо сейчас
5. Я только сказал, что макет, потому что вы хотели процент. ConstraintLayout также может работать. Или жестко заданные поля также работают
Ответ №1:
Используйте эти коды,
android:layout_alignParentBottom=»true»
android:layout_centerHorizontal=»true»
android:layout_marginBottom=»30dp»
Попробуйте это;
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="30dp"/>
</RelativeLayout>
Обновить код
Используйте это: android:layout_below
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@ id/logo"
android:layout_width="200dp"
android:layout_height="80dp"
android:layout_centerInParent="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/logo"
android:layout_centerInParent="true"
android:layout_marginTop="30dp" />
</RelativeLayout>
Комментарии:
1. Это работает, спасибо. Но в настоящее время я использую планшет для тестирования, и marginBottom 115dp идеально подходит. Останется ли кнопка на том же месте на меньшем экране?
Ответ №2:
Для разных разрешений экрана вы можете использовать intuit / sdp
добавьте эту строку в свой файл gradle
скомпилируйте ‘com.intuit.sdp: sdp-android: 1.0.3’