`

android中关于scrollview内部组件android:layout_height="fill_parent"无效的解决办法

 
阅读更多

 

今天在调整布局时遇到一个奇怪的问题,在scrollview下加入的组件无论如何也不能自动扩展到屏幕高度,最后对布局文件进行简化,最终得到最简layout配置内容如下:

<!-- 背景:蓝色 -->  
<ScrollView android:layout_width="fill_parent"  android:id="@+id/scrollView1"  
      xmlns:android="http://schemas.android.com/apk/res/android"  
      android:layout_height="fill_parent" android:background="@color/solid_blue">  
  
    <!-- 背景:黄色 -->  
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent"   
       android:layout_height="fill_parent" android:background="@color/solid_yellow">  
  
        <TextView android:text="TextView" android:id="@+id/textView1"    
           android:layout_width="wrap_content" android:layout_height="fill_parent"    
           android:layout_weight="1">  
        </TextView>  
  
    </LinearLayout>  
</ScrollView>

 

 

 

 

虽然我的所有组件都设置了android:layout_height="fill_parent",但是结果依然不能扩展到全屏高度,为了看到组件实际大小,我设置了布局组件的背景色,显示效果如下:

 

 

 很明显,scrollview(蓝色)已经扩展到最大高度了,但是其内部的linearlayout(黄色)却没有扩展.

 试了很多办法,就是没有办法让linearlaout组件扩大.

 最终,在一个国外的网站上,找到了答案,描述如下:

  

  ......

   Found the solution myself in the end. The problem was not with the LinearLayout,  but with the ScrollView (seems weird, considering the fact that the ScrollView was expanding, while the LinearLayout wasn't).

The solution was to use android:fillViewport="true" on the ScrollView.

 

 

原文链接:

http://stackoverflow.com/questions/2599837/linearlayout-not-expanding-inside-a-scrollview

 

 

 

果然,需要设置scrollview的fillViewport属性为"true"才能使其子组件可以扩展!

效果:

 

 

向大虾们学习了!

  • 大小: 14.7 KB
  • 大小: 13.3 KB
分享到:
评论

相关推荐

    Android开发—使用ActivityGroup来切换Activity和Layout

    android:layout_height="fill_parent"&gt; android:gravity="center_horizontal" android:background="@drawable/myinfor2" android:layout_width="fill_parent" android:layout_height="wrap_content"&gt; ...

    Android中使用LinearLayout完成的内蒙古导览项目的代码清单 .pdf

    android:layout_height="fill_parent" android:orientation="vertical" &gt; android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:...

    ScrollView嵌套GridView不能滚动的问题解决方案

    android:layout_height="fill_parent" android:scrollbars="none"&gt; android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ff00ff" android:orientation=...

    android顶部滑动导航

    android:layout_height="match_parent" android:background="#F0EFF5" &gt; android:id="@+id/sayit_rl_tab" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_...

    自定义ScrollView 实现图片放大,上滑修改标题栏状态

    android:layout_height="match_parent"&gt; android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"&gt; &lt;androidx.appcompat.widget.AppCompatImageView ...

    android TextView android TextView

    android:layout_height="fill_parent" android:layout_above="@id/tl_botton" android:layout_alignParentTop="true" android:background="#E6E6FA" android:fadeScrollbars="false" android:...

    Android UI 设计

    - 在Android中,通常使用XML文件来定义界面布局,XML文件通常存储在`res/layout`目录下。 - 示例代码: ```xml &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android=...

    Android ScrollView只能添加一个子控件问题解决方法

    android:layout_height="fill_parent" android:orientation="vertical"&gt; &lt;ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"&gt; android:layout_width="fill_parent" ...

    Android使用Gridview单行横向滚动显示

    android:layout_width="fill_parent" android:layout_weight="1" android:layout_gravity="center" android:background="@android:color/darker_gray" android:scrollbars="none"&gt; android:layout_height=...

    android_UI布局设计

    在Android中,UI布局和控件的使用直接影响到用户的交互体验和应用的可用性。接下来,我们详细介绍Android的一些基本控件及其使用方法,以及如何排版出理想的屏显效果。 首先,要了解Android UI布局的基础是XML布局...

    Android ScrollView使用代码示例

    ScrollView可实现控件在超出屏幕范围的情况下滚动显示。 用法:在XML文件中将需滚动的控件包含在ScrollView中,当控件超出屏幕... android:layout_width=”fill_parent”  android:layout_height=”310dp”  &gt;  

    android listview 水平滚动和垂直滚动的小例子

    android:layout_height="fill_parent" android:layout_width="wrap_content"&gt; android:id="@+id/LinearLayout02" android:layout_width="wrap_content" android:orientation="vertical" android:layout_...

    Android仿UC浏览器左右上下滚动功能

    android:layout_height="fill_parent"/&gt; android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"&gt; &lt;ScrollView android...

    Android中使用ScrollView实现滑动到底部显示加载更多

    本文将详细讲解如何在Android中使用ScrollView实现这一功能。 首先,我们要了解布局文件中的关键元素。在这个例子中,我们使用了一个FrameLayout作为根布局,包含一个ScrollView和一个Button。ScrollView用于显示可...

    Android实现Activity水平和垂直滚动条的方法

    本篇文章将详细解析如何在Android中利用这两个组件来创建活动(Activity)的滚动条。 首先,`ScrollView`是Android中用于实现垂直滚动的视图容器。它只能包含一个直接子视图,这意味着你需要将所有需要滚动的内容...

    PullToRefresharp:一个用 C# 编写的用于 Android 的下拉刷新库

    拉动刷新 在C#为 Android 拉动刷新 快速轻松地向您的 Android 应用程序添加下拉刷新功能。 PullToRefresharp 是唯一一个为 Android 上的 ListView、GridView 和 ScrollView 提供下拉... android:layout_height="fill_p

    Android中Toolbar随着ScrollView滑动透明度渐变效果实现

    通过以上步骤,你就能实现Android中Toolbar随着ScrollView滑动透明度渐变的效果。这种效果在很多应用中都有所应用,比如Google的Material Design风格的应用,它提升了应用的交互体验,使用户更容易专注于内容。在...

    android 布局

    android:layout_height="fill_parent"&gt; ... ``` 在这个例子中,我们使用了`LinearLayout`作为根布局,它是一个垂直方向的布局,意味着其子元素将按照垂直方向依次排列。`layout_width`和`layout_height`属性分别...

    android 软键盘把界面顶起

    如果没有效果,可以在 layout 布局中父控件中加入 android:layout_width="fill_parent" 和 android:layout_height="fill_parent" 属性。 解决软键盘覆盖界面问题可以通过在布局之外添加一层 &lt;ScrollView&gt; 来实现。 ...

Global site tag (gtag.js) - Google Analytics