如何用ScrollView解决Android屏幕显示不全

时间: 2012-09-23 / 分类: Android开发, 开发实例 / 浏览次数: 2,169 views / 0个评论 发表评论

有的时候会发现UI元素太多的时候,android屏幕显示不全

特别是横、竖屏切换的时候,更是问题突出。

这个时候你需要用到scrollview来解决,设置屏幕可以上下滑动。

ScrollView卷轴视图也是一个Layout布局,可以让它内部的数据显示不下的时候出现滚动条。即指当拥有很多内容,一屏显示不完时,需要通过滚动跳来显示的视图。

要注意的是不能在ScrollView中放多个组件,ScrollView只能包裹一个直接子元素

最简单的一种应用情况,将ScrollView包裹在你原来的视图设计上。如下所示

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/ScrollView" android:layout_width="fill_parent"
	android:layout_height="wrap_content" android:scrollbars="vertical">
	<LinearLayout android:id="@+id/LinearLayout"
		android:orientation="vertical" android:layout_width="fill_parent"
		android:layout_height="wrap_content">
		<TextView android:id="@+id/TestView" android:layout_width="fill_parent"
			android:layout_height="wrap_content" android:text="TestView0" />
		<Button android:id="@+id/Button" android:text="Button0" android:layout_width="fill_parent"
			android:layout_height="wrap_content"></Button>
	</LinearLayout>
</ScrollView>

我们再来看一个例子:

<?xml version="1.0" encoding="utf-8"?>

<ScrollView android:id="@+id/ScrollView01"
android:layout_width="wrap_content" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableLayout android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:stretchColumns="0" xmlns:android="http://schemas.android.com/apk/res/android">

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:text="色彩透明度测试" android:textSize="18dip"
android:layout_span="2" android:layout_gravity="center"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>

</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#ff00ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#ff00ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#ee00ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#ee00ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#dd00ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#dd00ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#cc00ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#cc00ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#bb00ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#bb00ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#aa00ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#aa00ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#9900ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#9900ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#8800ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#8800ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#7700ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#7700ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#6600ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#6600ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#5500ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#5500ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#4400ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#4400ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#3300ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#3300ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#2200ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#2200ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#1100ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#1100ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TableRow android:layout_width="fill_parent"
android:layout_height="30dip">
<TextView android:background="#0000ff00"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
<TextView android:text="#0000ff00" android:background="#000"
android:textSize="30dip" android:textColor="#fff"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</TextView>
</TableRow>

<TextView android:text="色彩透明度测试" android:textSize="18dip"
android:gravity="center_horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content">
</TextView>

</TableLayout>
</ScrollView>

例子的显示效果:

image

向下滚屏后的截图:

image

具体的大家可以自己复制代码测试一下。

这个横向和竖向的欢动是在ScrollView属性中可以设置的。



.

*******************************************************************

上面是广告! 真的是广告!! 真的真的啊!!!

-----------------------------------------------------Copyright © 2011-2012--浙ICP备12011997---------------------------- ---------------------- ------------------------

无觅相关文章插件,快速提升流量