Перейти к следующему EditText при нажатии на кнопку - PullRequest
0 голосов
/ 23 декабря 2018

Это форма, которую пользователь должен отправить.Он содержит: название, описание, цену, страну, провинцию, адрес электронной почты и кнопку сохранения.Я хотел бы, чтобы все EditTexts и кнопка Save были горизонтальными, а кнопка Next - внизу.Когда пользователь вводит заголовок, затем нажимает кнопку «Далее», появляется текст «Описание ввода».Введите описание, нажмите «Далее», появится «Цена» и т. Д., Пока не появится кнопка «Сохранить».Я буду отображать 6 изображений на экране, который будет занимать большую часть вида, поэтому я хочу, чтобы Редактировать тексты были внизу.

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

EX: Заголовок видим, а остальные EditTexts - нет.Когда пользователь вводит заголовок и нажимает кнопку «Далее», заголовок исчезает, появляется текст описания описания и так далее до конца.Я хочу показывать только на EditText одновременно.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 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"
>


<LinearLayout
    android:id="@+id/imagesLayout"
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/iv_image1"
        android:layout_width="50dp"
        android:layout_height="50dp"/>
    <ImageView
        android:id="@+id/iv_image2"
        android:layout_width="50dp"
        android:layout_height="50dp"/>
    <ImageView
        android:id="@+id/iv_image3"
        android:layout_width="50dp"
        android:layout_height="50dp"/>
    <ImageView
        android:id="@+id/iv_image4"
        android:layout_width="50dp"
        android:layout_height="50dp"/>
    <ImageView
        android:id="@+id/iv_image5"
        android:layout_width="50dp"
        android:layout_height="50dp"/>
    <ImageView
        android:id="@+id/iv_image6"
        android:layout_width="50dp"
        android:layout_height="50dp"/>

    <TextView
        android:id="@+id/tv_multi_selection"
        android:layout_width="80dp"
        android:layout_height="20dp"
        android:background="@color/blue5"

        android:text="Images" />
</LinearLayout>

<HorizontalScrollView
    android:id="@+id/horizontal_scrollview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/btn_right"
    android:fadeScrollbars="false"
    android:padding="5dp"
    android:scrollbarAlwaysDrawHorizontalTrack="true"
    android:scrollbars="horizontal"
    android:layout_below="@+id/imagesLayout">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="80dp"
    android:layout_marginTop="10dp"
    android:orientation="horizontal">


    <EditText
        android:id="@+id/input_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="Title"
        android:inputType="textPersonName"
        android:padding="7dp"
        android:singleLine="true"

        android:textSize="14sp" />


    <EditText
        android:id="@+id/input_description"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"
        android:layout_marginRight="20dp"
        android:ems="10"
        android:hint="Description"
        android:inputType="textMultiLine"
        android:padding="7dp"
        android:singleLine="true"

        android:textSize="14sp" />


    <EditText
        android:id="@+id/input_price"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="Price"
        android:inputType="numberDecimal"
        android:padding="7dp"
        android:textSize="14sp" />

    <EditText
        android:id="@+id/input_country"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="Country"
        android:inputType="textCapWords"
        android:padding="7dp"
        android:textSize="14sp" />

    <EditText
        android:id="@+id/input_state_province"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="State/Province/Region"
        android:inputType="textCapWords"
        android:padding="7dp"
        android:textSize="14sp" />

    <EditText
        android:id="@+id/input_city"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="City"
        android:inputType="textCapWords"
        android:padding="7dp"
        android:textSize="14sp" />
    <EditText
        android:id="@+id/input_email"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="Your Contact Email"
        android:inputType="textEmailAddress"
        android:padding="7dp"
        android:textSize="14sp" />

    <Button
        android:id="@+id/btn_post"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="50dp"
        android:background="@color/colorPrimary"
        android:text="Post"
        android:textColor="@android:color/white" />

    <ProgressBar
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/progressBar"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="120dp"
        android:visibility="invisible"/>

</LinearLayout>

</HorizontalScrollView>

<Button
    android:id="@+id/btn_right"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="0dp"
    android:layout_marginRight="10dp"
    android:layout_marginBottom="20dp"
    android:background="@color/colorPrimary"
    android:text="Next"
    android:textColor="@android:color/white"
    android:layout_alignParentBottom="true"
    />


  </LinearLayout>

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018
    <?xml version="1.0" encoding="utf-8"?>

<LinearLayout 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">


    <LinearLayout
        android:id="@+id/imagesLayout"
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:orientation="horizontal">
        <ImageView
            android:id="@+id/iv_image1"
            android:layout_width="50dp"
            android:layout_height="50dp"/>
        <ImageView
            android:id="@+id/iv_image2"
            android:layout_width="50dp"
            android:layout_height="50dp"/>
        <ImageView
            android:id="@+id/iv_image3"
            android:layout_width="50dp"
            android:layout_height="50dp"/>
        <ImageView
            android:id="@+id/iv_image4"
            android:layout_width="50dp"
            android:layout_height="50dp"/>
        <ImageView
            android:id="@+id/iv_image5"
            android:layout_width="50dp"
            android:layout_height="50dp"/>
        <ImageView
            android:id="@+id/iv_image6"
            android:layout_width="50dp"
            android:layout_height="50dp"/>

        <TextView
            android:id="@+id/tv_multi_selection"
            android:layout_width="80dp"
            android:layout_height="20dp"
            android:background="@color/blue5"
            android:text="Images" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:orientation="horizontal">


        <EditText
            android:id="@+id/input_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:ems="10"
            android:hint="Title"
            android:inputType="textPersonName"
            android:padding="7dp"
            android:singleLine="true"
            android:textSize="14sp" />


        <EditText
            android:id="@+id/input_description"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:ems="10"
            android:hint="Description"
            android:inputType="textMultiLine"
            android:padding="7dp"
            android:singleLine="true"
            android:visibility="gone"
            android:textSize="14sp" />


        <EditText
            android:id="@+id/input_price"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="20dp"
            android:ems="10"
            android:hint="Price"
            android:inputType="numberDecimal"
            android:padding="7dp"
            android:visibility="gone"
            android:textSize="14sp" />

        <EditText
            android:id="@+id/input_country"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="20dp"
            android:ems="10"
            android:visibility="gone"
            android:hint="Country"
            android:inputType="textCapWords"
            android:padding="7dp"
            android:textSize="14sp" />


        <EditText
            android:id="@+id/input_state_province"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="20dp"
            android:ems="10"
            android:visibility="gone"
            android:hint="State/Province/Region"
            android:inputType="textCapWords"
            android:padding="7dp"
            android:textSize="14sp" />


        <EditText
            android:id="@+id/input_city"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="20dp"
            android:ems="10"
            android:hint="City"
            android:inputType="textCapWords"
            android:padding="7dp"
            android:textSize="14sp"
            android:visibility="gone"/>
        <EditText
            android:id="@+id/input_email"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="20dp"
            android:ems="10"
            android:hint="Your Contact Email"
            android:inputType="textEmailAddress"
            android:padding="7dp"
            android:textSize="14sp"
            android:visibility="gone"/>

        <Button
            android:id="@+id/btn_post"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="50dp"
            android:background="@color/colorPrimary"
            android:text="Post"
            android:visibility="gone"
            android:textColor="@android:color/white" />

        <ProgressBar
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:id="@+id/progressBar"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="120dp"
            android:visibility="gone"/>

    </LinearLayout>

    <Button
        android:id="@+id/btn_right"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="8dp"
        android:layout_marginRight="10dp"
        android:layout_marginBottom="20dp"
        android:background="@color/colorPrimary"
        android:text="Next"
        android:textColor="@android:color/white"
        android:layout_alignParentBottom="true"
        />


</LinearLayout>

попробуйте это, я удалил горизонтальную полосу прокрутки, потому что она была бесполезна.попробуйте добавить представление прокрутки для лучшего UX.и в .java вы можете проверить, является ли текст редактирования пустым, если не пустым, установить пропущенное представление текста редактирования, например edittext.setVisibilty(View.GONE);, а затем установить следующий текст редактирования как видимый.пример edittext2.setVisibilty(View.VISIBLE);

0 голосов
/ 23 декабря 2018

Установите слушателя на вашу «следующую кнопку».Отредактируйте пример кода так, чтобы он включал ваш идентификатор кнопки.Затем создайте переменные для вашего текстового представления.Также найти их по идентификатору.Затем используйте переменные, чтобы проверить видимость текстового представления.Если он виден, то скройте его и покажите следующий вид.

 final Button button = findViewById(R.id.button_id);
    button.setOnClickListener(new View.OnClickListener() {
             if (tv1.getVisibility() == View.VISIBLE) {
                 tv1.setVisibility(View.GONE);
                 tv2.setVisibility(View.VISIBLE);
                 return;
             }
             if (tv2.getVisibility() == View.VISIBLE) {
                 tv2.setVisibility(View.GONE);
                 tv3.setVisibility(View.VISIBLE);
                 return;
             }
             //continue as in the example for all your text views.

            }
          });
...