垂直滚动和水平滚动
问题描述:
我有一个很常见的问题。垂直滚动和水平滚动
我有一个Activity
,它里面我需要三个屏幕。问题是,它们可以/应该以两种方式滚动(水平和垂直)。由于嵌入HorizontalScrollView
与正常的ScrollView通常不鼓励,通常会导致更多的问题比解决问题,有没有其他方法来实现这一点,而不必编写自己的SurfaceView
类和手动处理滚动?
我到目前为止试过的是: 已将HorizontalScrollView
和ScrollView
嵌入对方。它运作不好。虽然水平滚动功能几乎完美(几乎是因为在开始滚动之前我仍然可以看到第二个屏幕的一部分),但垂直无法正常工作(如预期的那样),部分覆盖了屏幕。
我不能将它分成三个不同的活动,因为代码需要在所有3个页面中更改/更新视图。
<com.tseng.widget.TalentLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/TalentLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
... many dozen of other views here ...
</com.tseng.widget.TaletLayout>
这基本上是三个水平页面中每一个的布局。
实现此目的的最佳方式是什么?如果除了编写我自己的滚动功能,没有其他解决方案,是否有任何好的教程或代码我可以看?
答
据我所知,不可能创建一个水平和垂直同时滚动的滚动视图。至少不那么容易。但是你可以使用一个合并,但滚动限于水平或垂直只是......
事情是这样的:
<?xml version="1.0" encoding="utf-8"?>
<merge
android:id="@+id/merge"
xmlns:android="http://schemas.android.com/apk/res/android">
<ScrollView android:id="@+id/ScrollView01"
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
<TextView android:id="@+id/Text"
</TextView>
</HorizontalScrollView>
</ScrollView>
</merge>
你有没有考虑用tabLayout而不是去?在设计面向智能手机的用户界面方面存在限制,在另一范例中可能不会有什么意义,我怀疑用户想要在屏幕上移动以查看信息。 – blindstuff 2010-10-26 17:35:24