我仍然对Android有点新意。我正在编写一个Tic Tac Toe游戏作为一些练习。我点击按钮时试图弄清楚如何替换视图。我在GridView中有9个按钮。当用户点击一个时,我希望当用户点击屏幕底部的重置按钮时,将其更改为不可点击的TextView并返回到按钮。我使用标记来跟踪播放器&# 39;转过来,它会知道是否放置x或o。这甚至可能还是我在这里伸展?
答案 0 :(得分:1)
你很快就会发现,实际上并没有那么多东西可以用于Android。
这当然是可能的。对于GridView
中的每个网格,请输入两个元素 - Button
和TextView
。改变每个人的可见度。换句话说,你实际上并没有用另一个替换 - 你只需隐藏一个,然后展示另一个。
所以你有两个这样的项目:
<Button ... android:visibility="invisible"/>
<TextView ... android:visibility="visibile"/>
并拥有这两个match_parent
,以便它们填充每个网格,并且基本上彼此重叠。
更改代码中的可见性:
button1.setVisibility(View.INVISIBLE);
textView1.setVisibility(View.VISIBLE);
我试图给你尽可能少的实际代码,所以你玩这个并自己写,但这肯定会让你朝着正确的方向。如果您需要更多指导,请告诉我。
答案 1 :(得分:0)
你可以采用两种不同的方式
您可以在每个网格中放置按钮和textview,并在单击按钮时交换其可见性。为此,您可以从xml布局设置按钮和textview属性,而不必以编程方式做很多事情
您可以单独使用按钮,只需在运行时更改可绘制的背景即可更改外观。然后,您可以通过禁用它或将其focusable属性更改为false来使其无法点击
您甚至可以使用imageview,只需更改drawable src并在用户点击时禁用它。 Android非常灵活,这甚至都不是一件容易的事。如果你详细介绍一下你想要达到的细节,我可以建议哪种解决方案最合适