我有一个线性布局,其中有五个TextViews。假设用户点击第三个TextView;我想将TextView扩展到整个屏幕。换句话说,我想将第三个TextView作为全屏显示在与其他文本视图相同的活动中。我该怎么做呢?展开Android查看全屏
6
A
回答
1
是的,我明白你的意思。看下面的例子,我已经测试过它以确保它能正常工作。这可能不是最优雅的解决方案,但这里有。
这一次,我已经设置高度为0,重量为1为每个文本视图。这使得每个视图的高度相等。
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_weight="1"
android:text="text1"
/>
在活动代码,我有以下实例声明:
private TextView tv1;
private TextView tv2;
private TextView tv3;
private TextView tv4;
private TextView tv5;
private boolean singleViewExpanded = false;
private OnClickListener myOnClickListener = new OnClickListener(){
public void onClick(View arg0) {
if(singleViewExpanded)
{
showAllViews();
singleViewExpanded = false;
}
else
{
// Hide all views apart from the clicked one
hideAllViews();
arg0.setVisibility(View.VISIBLE);
singleViewExpanded = true;
}
}
};
singleViewExpanded,您可以跟踪您是否显示所有视图或只有一个。 onClickListener在这里被定义,以便我们可以为每个TextView设置它。
这些都是显示和隐藏方法:
private void showAllViews()
{
tv1.setVisibility(View.VISIBLE);
tv2.setVisibility(View.VISIBLE);
tv3.setVisibility(View.VISIBLE);
tv4.setVisibility(View.VISIBLE);
tv5.setVisibility(View.VISIBLE);
}
private void hideAllViews()
{
tv1.setVisibility(View.GONE);
tv2.setVisibility(View.GONE);
tv3.setVisibility(View.GONE);
tv4.setVisibility(View.GONE);
tv5.setVisibility(View.GONE);
}
最后,线了onCreate方法内部的onclick处理:
tv1 = (TextView)findViewById(R.id.textview1);
tv2 = (TextView)findViewById(R.id.textview2);
tv3 = (TextView)findViewById(R.id.textview3);
tv4 = (TextView)findViewById(R.id.textview4);
tv5 = (TextView)findViewById(R.id.textview5);
tv1.setOnClickListener(myOnClickListener);
tv2.setOnClickListener(myOnClickListener);
tv3.setOnClickListener(myOnClickListener);
tv4.setOnClickListener(myOnClickListener);
tv5.setOnClickListener(myOnClickListener);
3
如果您最初设置每个文本视图的高度如下WRAP_CONTENT:
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="text1"
/>
然后附上切换如下WRAP_CONTENT和FILL_PARENT之间的layout_height一个单击处理程序,你应该实现你想要的。
final TextView tv1 = (TextView)findViewById(R.id.textview1);
tv1.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
if(tv1.getLayoutParams().height == LayoutParams.FILL_PARENT)
tv1.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
else
tv1.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
}
});
如果您最初想要分隔文本视图,还可以使用layout_weight。
相关问题
- 1. 的Android滑展开查看
- 2. Android单击列表查看展开ImageView
- 3. 全屏查看产品
- 4. Android全屏屏蔽查看Google日历FAB
- 5. Android BottomSheetDialogFragment不完全展开
- 6. AdminLTE展开或全屏显示框
- 7. Android TestView扩展查看
- 8. Android的LinearLayout不伸展全屏
- 9. 选择缩略图和查看全屏
- 10. 滚动查看器不填充全屏
- 11. PresentModalViewController与全屏与Master_Detail查看
- 12. iPad全屏模式查看TabBarController?
- 13. 用户单击全屏库查看
- 14. 按下按钮全屏查看图像
- 15. Android定制查看不能延伸到全屏的一些屏幕尺寸
- 16. 搜索查看展开/折叠动画的Android
- 17. 查看动画在Android的折叠/展开视图中的LinearLayout
- 18. grails gson查看展开儿童模板
- 19. Ember展开子控制器/查看
- 20. Android Viewflipper上次查看之前的黑屏查看
- 21. 的Android ICS屏幕解锁 - 查看
- 22. 在Android上查看PC屏幕
- 23. 在小屏幕上查看Android字体
- 24. Android的阴影查看屏幕截图
- 25. 全屏android
- 26. 开放全屏UIMoviePlayerController
- 27. 打开SmoothStreamingMediaElement全屏
- 28. 如何在Android中开发时查看屏幕是开启还是关闭?
- 29. Android,全屏或多屏
- 30. 全屏iOS分享扩展
感谢您的答复,但是这个代码不执行任何操作。在我的程序中,我设计了5个文本视图,这些视图在垂直方向的线性布局下。我已经用第三个文本视图的onClickListner设置了上面提到的代码。但是当第三个文本视图被点击时,它仍然是一样的,它没有被扩展并且与其他文本视图重叠。 – 2010-10-07 04:22:29
是的,它的工作,问题是,我的线性布局容器的布局宽度和高度Wrap_Content。将其更改为Fill_Parent后,它就可以工作。但现在的问题是,当我点击文本视图时,它只会向下扩展,即它覆盖文本视图下方的空间。但是在这个文本视图上方有一些视图。我希望这种观点能够向上和向下扩展,从而覆盖整个屏幕。 – 2010-10-07 04:34:56