Кнопка выравнивания в нижней части 1/3 экрана

#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’