我的应用程序跟踪扑克 table 上玩家的玩法。我为用户提供了以“玩家”对象的形式保存最多 50 个玩家统计信息的选项,该对象存储在共享首选项中的 JSON 数组中。事实证明,允许用户选择并加载其中一个播放器是很困难的。
alertDialog 似乎很小,对于本质上只是一个大菜单的新 Activity 来说似乎有点过分,我担心将我的对象传递给它会很困难。 viewFlipper 听起来很有趣,但我不知道它是否合适。
我应该怎样做呢?我真正想做的就是用几十个按钮填满屏幕。
最佳答案
我同意为此创建一个新 Activity 有点矫枉过正。解决这个问题的一种方法是使用“按钮”填充 GridView
- 用户可以通过单击从网格中选择一个按钮。问题是在哪里/如何显示这个网格。
在我看来,ViewFlipper 是一个不错的选择。您将采取的方法是将现有布局放置在 View 翻转器中,然后将 GridView 放入现有布局之后的 ViewFlipper 中:
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/flipper">
<LinearLayout ...>
<!-- this is where your main layout goes -->
</LinearLayout>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/player_select"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</ViewFlipper>
然后在您的 Activity 中为 GridView 设置适配器和 OnItemClickListener
- 在单击某个项目时执行某些操作。最后,某个地方(在主布局中或在选项菜单中或其他地方)提供了一些东西来显示此 GridView 。在该操作的处理程序代码中,您将有类似的内容
ViewFlipper flip = (ViewFlipper)flip.findViewById(R.id.flipper);
flip.showNext();
这将有效地隐藏您的主布局并显示网格。在 OnItemClickListener
的末尾,您将拥有
ViewFlipper flip = (ViewFlipper)flip.findViewById(R.id.flipper);
flip.showPrevious();
这将隐藏 GridView 并导航回主布局。请随意添加任何您喜欢的过渡动画(例如 3G 翻转动画看起来特别好)。
关于java - 如何创建一个大的选择屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10125155/