ScrollView内部元素如何做到fill_parent 或者 match_parent?

转  : http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0704/1629.html

ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,需要通过滚动跳来显示的视图。Scrollview的一般用法如下

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
>
<LinearLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
    >
        <TextView
            android:id="@+id/first_edittext"
            android:layout_width="fill_parent"
            android:background="@color/gray"
            android:layout_height="fill_parent"
            android:text="文字"
        />
    </LinearLayout>
</ScrollView>

得到下面的界面:

其中白色部分是scrollView,灰色部分是TextView,很明显,scrollview(白色)已经扩展到最大高度了,但是其内部的TextView(灰色)却没有扩展.可明明TextView的layout_height="fill_parent",为什么没占满呢?是因为TextView的上层LinearLayout为wrap_content的原因吗?

但是换成fill_parent还是一样的(实际上Scrollview的第一层View的layout_weight在sdk中是建议为wrap_content的)。

 

后来在stackoverflow上找到了原因: http://stackoverflow.com/questions/2599837/linearlayout-not-expanding-inside-a-scrollview

要让ScrollView内部元素的 fill_parent 起作用必须设置android:fillViewport="true"

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
>
时间: 2024-10-12 06:49:30

ScrollView内部元素如何做到fill_parent 或者 match_parent?的相关文章

Android Scrollview 内部组件android:layout_height="fill_parent"无效的解决办法

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:fillViewpo

CSharp程序员学Android开发---3.Android内部元素不填充BUG

最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历时一个多月,4个人开发,最终行成一个可用的Demo,整体效果还非常不错.这其中借鉴了网上的“仿网易客户端的Demo”还有就是学习<疯狂Android>,收获颇多,这里利用几篇文章做一个项目经验总结,还有就是更多的从C# 程序员的观点来理解Android的一些异同之处. 文章目录: CSharp程序

【转载】Android的fill_parent、match_parent和wrap_content的区别

fill_parent在全体系的Android版本中通过,match_parent使用在Android 2.2及以上版本.两者作用一致. 1)fill_parent 主动方:父组件 被动方:子组件 1.在高度或者宽度上设置为fill_parent,则子组件的高度或者长度根据父组件的值而定.通常值与父组件相等. 2.当子组件的内容高/宽值小于父组件高/宽值,子组件内容被拉长. 3.当子组件的内容高/宽值大于父组件高/宽值,子组件内容被裁剪. fill_parent设置一个顶部布局或控件强制性让它布

ScrollView中元素不能充满ScrollView的问题

ScrollView里只能放一个元素.    当ScrollView里的元素想填满ScrollView时,使用"fill_parent"是不管用的,必需为ScrollView设置:android:fillViewport="true". 我猜 当ScrollView没有fillVeewport=“true”时, 里面的元素(比如LinearLayout)会按照wrap_content来计算(不论它是否设了"fill_parent"),而如果Lin

fill_parent 和 match_parent区别

之前一直没有区别好 fill_parent 和 match_parent, 其实,在 api 8 以后,两者的作用几乎一样,都是填充控件 在这里延伸到android 的版本变化导致方法的变化问题 我对于android l.android m . android n之间的演变,感觉还不算很大. 我接下来是要找个时间来认真研究了

关于fill_parent,match_parent和wrap_content

android:layout_width和android:layout_height常用这三个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便. fill_parent&match_parent: 在Android2.2及以上版本中,fill_parent与match_parent意思相同(其中fill_parent兼容低版本).都是尽可能多的占用框架内的空间. wrap_content: 在保证框内内容不丢失的情况下,尽可能少的占用空间. 1

关于fill_parent,match_parent和wrap_content (转载)

fill_parent&match_parent: 在Android2.2及以上版本中,fill_parent与match_parent意思相同(其中fill_parent兼容低版本).都是尽可能多的占用框架内的空间. wrap_content: 在保证框内容不丢失的情况下,尽可能少的占用空间. 示例1 上面代码效果: 示例2 代码显示效果

android布局属性值fill_parent和match_parent

android布局属性值fill_parent和match_parent - 泡在网上的日子 在编写xml的时候,如果我们想让一个控件布满父容器,可以将layout_width和layout_height的值设置为fill_parent或者是match_parent,在高一点的版本中,谷歌建议为后者,其实我们看到很多应用都还是用的前者,或者是两者混用.其实在最终结果上这两个没有任何区别,他们的区别在于字面意义上,其实从fill_parent的实际效果来看,fill_parent(充满整个容器)这

解决HTML元素的Mouse事件被内部元素的干扰

有一个DIV元素,其内部SPAN元素, 为了实现一些特殊的效果,我需要利用DIV元素的onmouseover和onmouseout事件,测试时就会发现如下的状况: 当鼠标移入DIV内部时,onmouseover事件被触发:接着再鼠标移动到DIV内部SPAN元素之上,我们肯定不会认为这时鼠标已经移到了DIV的外边,但奇怪的是DIV元素的onmouseout事件触发了,而且紧接着DIV元素onmouseover事件也马上被触发了. 这可不是我想要的,那么怎么来"屏蔽"内部元素给外层元素带来