【发布时间】:2015-02-12 12:56:49
【问题描述】:
我只是想知道为什么我的视图不可滚动。如以下链接所述:
How to make a LinearLayout scrollable
Making LinearLayout Scrollable
我在滚动视图中有我的线性布局,并且滚动视图只有一个子视图。我的视图仍然不可滚动。有人可以告诉我为什么它不起作用。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.tdg.nottssports.FirstActivity" >
<LinearLayout
android:id="@+id/linearContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contact" />
<EditText
android:id="@+id/etContact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="hello world" >
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Telephone" />
<EditText
android:id="@+id/etTelephone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="phone"
android:text="07424063798"
android:singleLine="true"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true">
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView41"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Address Line 1" />
<EditText
android:id="@+id/etAddrLine1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:text="hello world"
android:singleLine="true"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true" >
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView42"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Address Line 2" />
<EditText
android:id="@+id/etAddrLine2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:text="hello world"
android:singleLine="true"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true">
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView43"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Town" />
<EditText
android:id="@+id/etTown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:text="hello world"
android:singleLine="true"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true">
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView44"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PostCode" />
<EditText
android:id="@+id/etPostCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:text="hello world"
android:singleLine="true"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView144"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Date of Visit" />
<EditText
android:id="@+id/etDateVisit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/btnMapView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Map View" />
</LinearLayout>
</LinearLayout>
</ScrollView>
我不小心错过了问题中的以下部分。
我在 Activity.java 中有以下代码,我在 ImageView 的帮助下将图像动态添加到 LinearLayout。
LinearLayout linearContainer = (LinearLayout) findViewById(R.id.linearContainer);
ImageView imageViews = new LinearLayout(getApplicationContext());
linearContainer.addView(imageViews);
btnAddImage.setOnClickListener() {
ImageView image = new ImageView(getApplicationContext());
image.setImageBitmap(myBitmap);
imageViews.addView(image);
image.setPadding(10, 10, 10, 10);
}
以上内容是否对滚动产生任何问题?如果是,请帮助我如何使其工作。
【问题讨论】:
-
布局结构似乎是正确的。只有当屏幕高度不足以容纳内容时,它才会滚动。尝试添加更多视图。
-
嗯,在我的模拟器设备上工作得很好,我只需要添加几个按钮就可以向下滚动了。
-
@miselking 请您现在检查一下。我现在已经添加了缺失的代码。
-
@AbhishekV 请您现在检查一下。我现在已经添加了缺失的代码。
标签: android android-layout scrollview android-linearlayout android-scrollview