线性布局儿童不滚动

时间:2015-06-29 14:39:12

标签: android android-layout android-linearlayout

我试图在运行时将图像视图添加到线性布局中。

<LinearLayout
    android:id="@+id/llFolderLayout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".65"
    android:orientation="horizontal"
    android:scrollbars="horizontal" >
</LinearLayout>
LinearLayout llFolderTabs = (LinearLayout) myfolder.findViewById(R.id.llFolderLayout);
ImageView imgTab = new ImageView(activity);
imgTab.setId(i);
imgTab.setTag(i);
imgTab.setImageDrawable(
    mContext.getResources().getDrawable(R.drawable.icon_folder_inactive));
if (i == 0) {
    imgTab.setImageDrawable(
        mContext.getResources().getDrawable(R.drawable.icon_folder_active));
    // imgTab.setPadding(10, 0, 4, 0);
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
        74, LayoutParams.MATCH_PARENT);
    lp.setMargins(15, 0, 0, 0);
    imgTab.setLayoutParams(lp);
} else {
    // imgTab.setPadding(4, 0, 4, 0);
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
        74, LayoutParams.MATCH_PARENT);
    lp.setMargins(30, 0, 0, 0);
    imgTab.setLayoutParams(lp);
}
llFolderTabs.addView(imgTab);

然而,当孩子的数量超过屏幕尺寸时,它不会水平滚动 - 我怎样才能达到这个效果?

3 个答案:

答案 0 :(得分:1)

您可以使用ScrollView进行垂直滚动,或使用HorizontalScrollView进行水平滚动。 ScrollView只能有一个根视图,因此将LinearLayout放在scrollView中,并将图像添加到linearlayout,就像你一样。

答案 1 :(得分:1)

combobox.SelectedItem是一种特殊的布局,旨在保持视图大于其实际大小。当视图大小超出ScrollView大小时,它会自动添加滚动条并可以垂直滚动。

ScrollView

http://javatechig.com/android/android-scrollview-example

http://www.androidhub4you.com/2012/09/horizontal-scroll-view-in-android.html

答案 2 :(得分:0)

您应该将LinearLayout包裹在ScrollView中。使ScrollView成为xml中的根元素。