Android-线性布局权重

Android-线性布局权重,android,android-linearlayout,horizontalscrollview,android-layout-weight,Android,Android Linearlayout,Horizontalscrollview,Android Layout Weight,此视图表示日历 在这个布局中,我在水平滚动视图的内部有一个LinearLayout,在LinearLayout的内部有很多TextView。 我将min width设置为TextView,因为在纵向位置没有太多空间,而且我不想看到7个超小TextView,我更喜欢SE4 TextView中等大小 当我旋转到横向位置时,我只想看到7个宽度相等的文本视图,并滚动其他文本视图,但我无法做到这一点 对不起,我的英语不好。下面是XML <HorizontalScrollView andro

此视图表示日历

在这个布局中,我在水平滚动视图的内部有一个LinearLayout,在LinearLayout的内部有很多TextView。 我将min width设置为TextView,因为在纵向位置没有太多空间,而且我不想看到7个超小TextView,我更喜欢SE4 TextView中等大小

当我旋转到横向位置时,我只想看到7个宽度相等的文本视图,并滚动其他文本视图,但我无法做到这一点

对不起,我的英语不好。下面是XML

<HorizontalScrollView
    android:id="@+id/scroll_dias"
    android:layout_below="@+id/header2"
    android:layout_toRightOf="@+id/tv_etiqueta_hora"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="1dp"
    android:fillViewport="true"
    android:scrollbars="none">


    <LinearLayout
        android:id="@+id/contenedor_dias"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="7">
    </LinearLayout>

</HorizontalScrollView>

而膨胀的textview以编程方式添加到LinearLayout

<TextView
    android:id="@+id/tv_item_dia"
    android:layout_width="60dp"
    android:layout_height="32dp"
    android:layout_marginRight="1dp"
    android:layout_weight="1"
    android:background="#3f7668"
    android:gravity="center"
    android:padding="8dp"
    android:text="Día "
    android:textColor="#fff"
    android:textSize="12dp"
    android:textStyle="bold" />


您是否考虑过改用a?使用GridLayout,您可以在任何时间点限制屏幕上显示的行数和列数


此外,您还可以针对不同的屏幕宽度使用不同的布局。您可以将窄布局(4列)放入
layout
文件夹,也可以将宽布局(7列)放入
layout-sw600dp
文件夹。一旦您这样做,Android将根据屏幕的当前宽度(即纵向与横向或平板电脑与手机)自动选择正确的布局。

如果您想在屏幕中安装具有特定重量的
线性布局
,并水平滚动以显示每个步骤的7
文本视图
,为什么不使用
查看页面
而不是
水平滚动视图
?我不想在纵向显示7个文本视图,因为它们太小了,当我旋转到横向时,我只想显示7个,而不是更多或更少。对不起,可能我的问题不清楚。我的意思是,
ViewPager
可以是您的容器,页面可以显示
TextViews
。在纵向页面中,每个页面包含4个
文本视图
,而在横向页面中,一行包含7个
文本视图
。也许这不是您所期望的,但是在这种情况下使用
HorizontalScrollView
对我来说很奇怪,因为这样可以只在内部包含一个
LinearLayout
(因此不超过4个或7个
textView
),而据我所知,您希望水平滚动以显示其他日期。加权维度必须精确测量0dp,才能使权重起作用。并且
weightSum
是完全可选的(它是自动计算的)。如果您有一个带有权重和2的LinearLayout,并且里面有3个带有权重1的Textview,则只有2个将显示,另一个将不在屏幕上,并且可以滚动。那么为什么mi视图不起作用呢?