我有以下布局
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white" >
<LinearLayout
android:id="@+id/answerMainFrame"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:isScrollContainer="true"
android:onClick="toQuestion" >
<ImageView
android:id="@+id/answer_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:contentDescription="@string/question_img_cd" />
<TextView
android:id="@+id/answer"
style="@style/Question" />
</LinearLayout>
有时ScrollView
过小,不会填满整个屏幕,但我仍然要调用的方法toQuestion()
的任何地方点击屏幕上。
我试过设置android:layout_height="wrap_content"
到LinearLayout
和android:onClick="toQuestion"
的ScrollView
,但同样的结果。
你可以尝试让LinearLayout
实现onClick
属性,然后设置:
android:fillViewport="true"
对ScrollView
。
我也有类似的问题,简单地摆脱了滚动视图本身。 相反,我直接插入TextView的本身,与前面提上滚动型的约束。 我的滚动型的整个目的是TextView的滚动,而不是在几个项目,因此这似乎是一个更优雅的方式做。
一个(垂直)滚动条添加到我的activity.hmtl的TextView:
<TextView
android:id="@+id/tvInfo"
(...)
android:scrollbars="vertical"
/>
这增加了onCreate方法:
oTV = (TextView) findViewById(R.id.tvInfo);
oTV.setMovementMethod(new ScrollingMovementMethod());
不需要写滚动响应。 我喜欢。
我发现这里的解决方案(THX Juned莫卧儿):
http://www.android-examples.com/make-textview-scrollable-in-android-programmatically/
为了使滚动视图填满整个屏幕的变化:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white" >
至
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/white" >
并点击把这个在您的onCreate方法:
((ScrollView) findViewById(R.id.scrollView))
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toQuestion();
}
});