Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何仅使第一个布局水平滚动?_Java_Android_Scrollview - Fatal编程技术网

Java 如何仅使第一个布局水平滚动?

Java 如何仅使第一个布局水平滚动?,java,android,scrollview,Java,Android,Scrollview,我有2个线性布局在3个家长布局。现在,当我在垂直和水平方向滚动它们时,它们是同步的。如何在第一个版面上禁用垂直滚动,但两个线性版面的水平滚动仍保持同步 <ScrollView> <HorizontalScrollView> <RelativeLayout> <LinearLayout> -- |--First layout horizont

我有2个线性布局在3个家长布局。现在,当我在垂直和水平方向滚动它们时,它们是同步的。如何在第一个版面上禁用垂直滚动,但两个线性版面的水平滚动仍保持同步

<ScrollView>
    <HorizontalScrollView>

        <RelativeLayout>
            <LinearLayout>  --
                             |--First layout horizontal scrollable only
            </LinearLayout> --

            <LinearLayout>  --
                             |--Second layout both scrollable
            </LinearLayout> --
        <RelativeLayout>

    <HorizontalScrollView>
<ScrollView>

真的需要帮助!!!谢谢

你试过viewpager吗?viewpager?对不起,有关于如何使用它的例子吗?呃。。。viewpager看起来像是对几个页面的更改,但我想要的是在同一页面上滚动而不是滑动,viewpager能解决我的问题吗?然后使用recyclerview。水平旋转
public void setListViewHeightBasedOnChildren(ListView listView) {
        ListAdapter listAdapter = listView.getAdapter();
        if (listAdapter == null)
            return;

        int desiredWidth = View.MeasureSpec.makeMeasureSpec(listView.getWidth(), View.MeasureSpec.UNSPECIFIED);
        int totalHeight = 0;
        View view = null;
        for (int i = 0; i < listAdapter.getCount(); i++) {
            view = listAdapter.getView(i, view, listView);
            if (i == 0)
                view.setLayoutParams(new ViewGroup.LayoutParams(desiredWidth, ViewGroup.LayoutParams.WRAP_CONTENT));

            view.measure(desiredWidth, View.MeasureSpec.UNSPECIFIED);
            totalHeight += view.getMeasuredHeight();
        }
        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
        listView.setLayoutParams(params);
    }
setListViewHeightBasedOnChildren(FirstLayout);