2011-05-12 104 views
4

我有像这样的布局..添加滚动视图将整个布局推到一半视图大小?

<LinearLayout android:id="@+id/LinearLayout01" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="fill_parent" 
android:background="#333333" android:orientation="vertical" android:layout_width="match_parent"> 
<ScrollView android:layout_width="match_parent" android:id="@+id/scrollView1" android:layout_height="match_parent"> 
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> 
     <FrameLayout android:layout_width="fill_parent" android:layout_height="45dip" android:id="@+id/frameLayout1"> 
      <EditText android:autoText="true" android:text="EditText" android:hint="@string/searchBox" android:singleLine="true" android:layout_height="fill_parent" android:id="@+id/qbox" android:layout_width="fill_parent"></EditText> 
      <Button android:layout_height="fill_parent" android:text="Button" android:layout_width="45dip" android:background="@drawable/search" android:layout_gravity="right" android:id="@+id/search"></Button> 
     </FrameLayout> 
     <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> 
      <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center"> 
       <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="5dip" android:id="@+id/logo" android:src="@drawable/icon" android:paddingLeft="10dip"></ImageView> 

      </LinearLayout> 
      <com.app.org.HorizontialListView android:layout_width="wrap_content" android:layout_height="150dip" android:id="@+id/hlist" android:background="#FFFFFF"></com.app.org.HorizontialListView> 
     </LinearLayout> 
     <LinearLayout android:layout_width="fill_parent" android:layout_height="40dip" android:paddingLeft="15dip" android:id="@+id/buttonlist" style="@style/tabBar"></LinearLayout> 
     <ListView android:layout_width="fill_parent" android:background="#FFFFFF" android:id="@+id/searchresults" android:cacheColorHint="#ffffff" android:layout_height="match_parent" android:scrollbars="none"></ListView> 
    </LinearLayout> 
</ScrollView> 
</LinearLayout> 

我只是增加了滚动,但它似乎我的整个布局推入占用了大约一半的屏幕尺寸出于某种原因..任何人有任何想法,为什么?

下面是添加滚动视图对布局的影响的说明。

Layout before ScollView 
|---------------------| 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|---------------------| 

Layout after ScollView 
|---------------------| 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|      | 
|---------------------| 

回答

17

尝试设置全视口=真上滚动视图

+0

不错的内部,也没有解决身高问题,但遗憾的是滚动视图中我的整个的LinearLayout不可滚动。我只能滚动列表视图,而不是整个事情。 :-(anyidea我怎么解决这个问题? – Skizit 2011-05-12 13:57:58

+0

你不应该在scrollview中放置一个可滚动的项目,这是一个最佳实践,你可以相应地调整你的布局,只留下listview可滚动和其余的屏幕上,或你可以使用listview方法addHeaderView在列表视图上添加一个标题,该标题将随之滚动。 – BFil 2011-05-12 14:27:07

2

尝试添加以下内容到滚动型标签:

android:fillViewport="true" 

此外,你很可能有滚动型元素是父对象而不是LinearLayout。

+0

ScrollView只能有一个子元素 – 2011-09-10 17:58:28

2

设置android:fillViewport属性trueScrollView

android:layout_height="match_parent"不支持/由ScrollView忽略。

1
  1. 更改LinearLayoutScrollView内的高度wrap_content而不是match_parent
  2. 你不能把一个ListView滚动型
相关问题