【问题标题】:make a layout just fits the width when it's in a HorizonrtalScrollView当它在 Horizo​​nrtalScrollView 中时,使布局恰好适合宽度
【发布时间】:2013-12-29 11:54:23
【问题描述】:

我有一个水平的LinearLayout,其中包含一堆垂直的Linearlayouts,这些垂直布局中的每一个都应该只适合水平布局的 25%,所以它只能包含四个,所以,我想添加一个HorizonrtalScrollView,当它的数量超过四个时包含其余的垂直布局,

我将水平布局的WeightSum 设置为四个,这样任何垂直布局都会将权重设为一,这将使其仅适合水平布局的 25%。在添加 HorizonrtalScrollView 之前一切正常,请考虑下图(垂直布局为 绿色 色):

但是在添加 HorizonrtalScrollView 时:

我考虑将水平布局设置为 WrapContentFillParent 但结果相同,尽管将 HorizonrtalScrollView 设置为 WrapContentFillParent 时相同。

XML 代码:

      <HorizontalScrollView 
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content" >
         <LinearLayout 
                       android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:orientation="horizontal"
                       android:weightSum="4" >

        <LinearLayout
                    android:id="@+id/innerVer1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical"
                    android:weightSum="1" >

                    <LinearLayout
                        android:id="@+id/icon1"
                        android:layout_width="wrap_content"
                        android:layout_height="0dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="15dp"
                        android:layout_weight="0.5"
                        android:background="@drawable/ac_overlay"
                        android:orientation="horizontal"
                        android:tag="normal" >
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/icon2"
                        android:layout_width="wrap_content"
                        android:layout_height="0dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="15dp"
                        android:layout_weight="0.5"
                        android:background="@drawable/ac_overlay"
                        android:orientation="horizontal"
                        android:tag="normal" >
                    </LinearLayout>
                </LinearLayout>
         <LinearLayout
                    android:id="@+id/innerVer1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical"
                    android:weightSum="1" >

                    <LinearLayout
                        android:id="@+id/icon1"
                        android:layout_width="wrap_content"
                        android:layout_height="0dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="15dp"
                        android:layout_weight="0.5"
                        android:background="@drawable/ac_overlay"
                        android:orientation="horizontal"
                        android:tag="normal" >
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/icon2"
                        android:layout_width="wrap_content"
                        android:layout_height="0dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="15dp"
                        android:layout_weight="0.5"
                        android:background="@drawable/ac_overlay"
                        android:orientation="horizontal"
                        android:tag="normal" >
                    </LinearLayout>
                </LinearLayout>
                    </LinearLayout>
    </HorizontalScrollView>

【问题讨论】:

  • 你确定你的水平视图本身会导致问题吗?意味着如果你没有正确地看到每一件事。
  • 如果不是什么会导致问题
  • 没有尝试过整个 xml 部分,它的宽度和高度有很多问题。
  • 你能发布你的 xml 图形快照吗?
  • @sush 没有问题还是一样

标签: android android-layout android-linearlayout horizontalscrollview


【解决方案1】:

您是否尝试过更改线性布局宽度属性以包装内容。

【讨论】:

    【解决方案2】:

    用下面的这个改变你的水平视图标签属性

                   android:layout_width="fill_parent"
                   android:layout_height="wrap_content"
    

    最重要的属性

                    android:fillViewport="true"
    

    【讨论】:

    • 这些横向布局的变化?我做到了水平布局,没有任何改变
    • 那是我在你的问题下面问你它工作正常吗?所以将你所有的 0dp 更改为 fill_parent 和 wrap_content 也更改为 fill_parent。
    猜你喜欢
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 2013-11-01
    相关资源
    最近更新 更多