我正在尝试像Jelly应用程序那样在用户点击时一次显示多个对话框。 Android上有一种方法可以同时显示多个对话框吗?到目前为止,我只看到有关一个对话框出现的帖子,然后是另一个基于用户操作的帖子。但是我希望它们一次出现,类似于Jelly,然后让用户使用手势浏览它们。
这是一张图片:http://www.8ms.com/wp-content/uploads/2014/01/view-answers-compose-answer-jelly.png
答案 0 :(得分:0)
我想出来了 -
使用FrameLayout(http://blog.neteril.org/blog/2013/10/10/framelayout-your-best-ui-friend/)覆盖视图,并在点击时显示和消失答案。
特别是Jelly示例 - 一个视图是主视图(带有用户的问题),然后另一个视图是辅助视图(包含所有社区答案)。
辅助视图以隐藏方式开始,因此只显示主视图。
android:visibility="invisible"
然后,当用户在主视图中单击问题时,主视图的OnClickListener可以以编程方式更改辅助视图的可见性。
view.setVisibility(View.INVISIBLE);
所以问题出现在问题的顶部。您可以调整辅助/问题视图的大小,以便仍然可以看到问题,例如在Jelly app中。
社区答案的布局是:(参见下面的代码示例)
HorizontalScrollView
- >线性布局
- >自定义视图(这是显示每个答案的位置。它也可以是自定义对话框)
这都在FrameLayout中。
关于如何创建自定义对话框:http://about-android.blogspot.com/2010/02/create-custom-dialog.html
在XML文件中,您将在“线性布局”中留一个空白区域,以便您可以以编程方式添加答案视图/对话框,因为自定义视图的数量和内容因问题而异。
<HorizontalScrollView
android:id="@+id/notes_hsv"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_marginTop="100dp"
android:visibility="invisible" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- AnswerViews are added programmatically to this LinearLayout -->
</LinearLayout>
</HorizontalScrollView>
以编程方式将视图添加到LinearLayout:Android: Add a textview to linear layout programmatically