Начинающий здесь - RelativeLayout в Android Studio не работает должным образом - PullRequest
0 голосов
/ 28 января 2020

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

Вот мой XML код:

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/ballCounter"
        android:layout_width="104dp"
        android:layout_height="wrap_content"
        android:layout_ParentBottom="false"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="false"
        android:layout_alignParentRight="false"
        android:layout_centerVertical="true"
        android:layout_marginStart="19dp"
        android:layout_marginLeft="41dp"
        android:layout_marginTop="223dp"
        android:layout_marginRight="0dp"
        android:ems="10"
        android:inputType="number" />

    <EditText
        android:id="@+id/strikeCounter"
        android:layout_width="104dp"
        android:layout_height="wrap_content"
        android:layout_ParentBottom="false"
        android:layout_alignParentLeft="false"
        android:layout_alignParentTop="false"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginStart="19dp"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="223dp"
        android:layout_marginRight="0dp"
        android:ems="10"
        android:inputType="number" />
</RelativeLayout>

Извините, если вопрос чрезвычайно основополагающий c, но я не совсем уверен, как еще это сказать, когда гуглю. Как я могу заставить свой правый вид (strikeCounter) выровнять то, что делает левый вид (ballCounter)?

Изображение здесь: https://i.stack.imgur.com/hsi7r.png

Ответы [ 4 ]

1 голос
/ 28 января 2020

Пожалуйста, попробуйте это ...

 <?xml version="1.0" encoding="utf-8"?>
 <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:orientation="vertical"
     tools:context=".MainActivity">

     <EditText
         android:id="@+id/ballCounter"
         android:layout_width="104dp"
         android:layout_height="wrap_content"
         android:layout_alignParentStart="true"
         android:layout_alignParentLeft="true"
         android:layout_centerVertical="true"
         android:layout_marginStart="19dp"
         android:layout_marginLeft="19dp"
         android:ems="10"
         android:inputType="number" />

     <EditText
         android:id="@+id/strikeCounter"
         android:layout_width="104dp"
         android:layout_height="wrap_content"
         android:layout_alignParentEnd="true"
         android:layout_alignParentRight="true"
         android:layout_centerVertical="true"
         android:layout_marginEnd="19dp"
         android:layout_marginRight="19dp"
         android:ems="10"
         android:inputType="number" />

 </RelativeLayout>
0 голосов
/ 28 января 2020

Проверить

1002 *
0 голосов
/ 28 января 2020

Я думаю, вы должны использовать этот способ ......

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <EditText
        android:id="@+id/ballCounter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_weight="1"
        android:text="Left Side"
        android:inputType="number" />

    <EditText
        android:id="@+id/strikeCounter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Right Side"
        android:gravity="end"
        android:layout_weight="1"
        android:inputType="number" />

</LinearLayout>

установить текст strikeCounter согласно вашему требованию.

0 голосов
/ 28 января 2020

Добавьте интервал справа в поле marginRight. В настоящее время marginRight равен 0dp, поэтому, естественно, между краем экрана и концом текстового поля будет 0 пикселей.

android:layout_marginRight="41dp" 

41 только потому, что он есть для ballCounter

...