如何添加布局

时间:2015-08-03 21:32:03

标签: android android-listview textview

您好我想在我的活动中添加一个LAyout。

我有一个FrameLayout,到目前为止我添加了一个SurfaceView。

现在我想在其上添加另一个Layout作为菜单,所以当我在Surface View上单击一个Button时,我将其设置为Visible。

此布局应包含一个Textview,并且应该可滚动

1:这种方法最好的LAyoutout是什么?我想到了Listview,我在那里动态添加了字符串

2:我如何在Code中实现这一目标?

应该是:

滚动。 应该是一定的尺寸:屏幕宽度的一半和屏幕高度的一半 所以它也应该在screenWidth / 4和screenHeight / 4的位置 为了达到这个目的,我可以在连接到surfaceview的mainThread中设置这些参数,这样我就可以在像素格式中完成所需的参数,这是没有问题的。 当用户点击视图之外时它应该松开Focus,这样我的surfaceView就会获得Focusagain并将LAyout设置为Gone。

所以它应该是这样的:

用户点击按钮显示菜单 现在,用户可以滚动菜单 当他按下Backbutton或View之外它应该关闭它自己 当有一个应该显示的新文本时,它应该附加到布局上,以便在下次用户再次单击该按钮时显示

谢谢

1 个答案:

答案 0 :(得分:0)

  

1:这种方法最好的LAyoutout是什么?我想到了Listview,我动态添加了Textview

这听起来不错,你可以选择ListViewRecyclerView。您基本上没有动态添加TextView,您创建了一个适配器,可以为您创建和回收视图。

  

2:我如何在Code中实现这一目标?

创建DialogFragment,它是使用逻辑进行此类对话的最佳候选者。它的生命周期是通过FragmentManager处理的,因此您不会在屏幕旋转等问题上遇到问题。它允许您像任何其他Fragment一样设置所需的任何布局。它将被放置在您的中心,因此您不必手动处理它。只需设置所需对话框的大小,它就会很完美。

  

当用户点击视图外部时,它应该松开焦点,这样我的surfaceView就会获得Focusagain并将LAyout设置为Gone。

我真的不懂这个。当用户触摸外面时,您是否需要失去焦点,但对话框应关闭?如果是,那么这已在这里得到解答:

Allow outside touch for DialogFragment

如果要关闭对话框,则不必执行任何操作,默认情况下就是这样。