这是用户需要提交的表格。它包含:标题,描述,价格,国家,省,电子邮件地址和一个保存按钮。 我将所有EditTexts和Save按钮设置为水平,并在底部放置一个Next按钮。 当用户输入标题时,按“下一步”按钮,将显示“描述输入文本”。输入一些描述,按下一步,然后出现价格,依此类推,直到保存按钮。 我将在屏幕上显示6张图像,这些图像将占据大部分视图,因此我希望“编辑文本”位于底部。
除了使用水平滚动条,我想不出更好的方法,但是我真的不想滚动。
EX: 标题可见,其余的EditText不可见。当用户输入标题并单击“下一步”按钮时,标题消失,并且出现描述EditText,依此类推,直到最后。 我只想一次显示在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>
答案 0 :(得分:1)
<?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>
尝试此操作,因为没有用,所以我删除了水平滚动条。尝试添加滚动视图以获得更好的用户体验。在.java中,您可以检查edittext是否为空(如果不为空),将Edittext视图设置为edittext.setVisibilty(View.GONE);
,然后将下一个edittext设置为可见。示例edittext2.setVisibilty(View.VISIBLE);
答案 1 :(得分:0)
为“下一个按钮”设置一个侦听器。编辑示例代码,以便包含您的按钮ID。然后为您的文本视图创建变量。还通过ID查找它们。然后使用变量检查文本视图的可见性。如果可见,则将其隐藏并显示下一个视图。
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.
}
});