我想制作一个水平ScrollView,但它只显示1个图像,其他图像是隐藏但垂直时是工作正常。我希望它显示在水平而不是隐藏。这是我的xml代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="100dp"
android:layout_height="110dp"
app:srcCompat="@mipmap/ic_launcher"
android:id="@+id/ivgallery"
tools:ignore="ContentDescription"/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
app:srcCompat="@android:drawable/btn_dialog"
android:id="@+id/ivupload"
tools:ignore="ContentDescription"/>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:id="@+id/linearmain"/>
</ScrollView>
</LinearLayout>
这是我的java代码:
Bitmap bitmap = PhotoLoader.init().from(photopath).requestSize(512, 512).getBitmap();
final ImageView imageView = new ImageView(getApplicationContext());
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
imageView.setLayoutParams(layoutParams);
imageView.setMaxWidth(250);
imageView.setMaxHeight(250);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(0, 10, 0, 0);
imageView.setAdjustViewBounds(true);
imageView.setImageBitmap(bitmap);
答案 0 :(得分:2)
您应该使用 HorizontalScrollView
HorizontalScrollView 仅支持水平滚动。对于垂直滚动,请使用 ScrollView 或 ListView 。
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal">
<LinearLayout
android:id="@+id/linearmain"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:orientation="horizontal" />
</HorizontalScrollView>
答案 1 :(得分:1)
我认为你的scrollview孩子意味着LinearLayout 在那不是什么
所以请参考此链接
[Link][1]
Link
答案 2 :(得分:0)
对于水平滚动,您必须使用HorizontalScrollView
所以替换这个
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal">
<LinearLayout
android:id="@+id/linearmain"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:orientation="horizontal" />
</ScrollView>
带
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal">
<LinearLayout
android:id="@+id/linearmain"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:orientation="horizontal" />
</HorizontalScrollView>
答案 3 :(得分:0)
您应该将可滚动内容放入滚动视图
喜爱 我想制作一个水平ScrollView,但它只显示1个图像,其他图像是隐藏但垂直时是工作正常。我希望它显示在水平而不是隐藏。这是我的xml代码:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:id="@+id/linearmain">
<ImageView
android:layout_width="100dp"
android:layout_height="110dp"
app:srcCompat="@mipmap/ic_launcher"
android:id="@+id/ivgallery"
tools:ignore="ContentDescription"/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
app:srcCompat="@android:drawable/btn_dialog"
android:id="@+id/ivupload"
tools:ignore="ContentDescription"/>
</LinearLayout>
</ScrollView>
</LinearLayout>
答案 4 :(得分:0)
你可以试试这个,改变你的元素水平滚动视图:
<package_name.HorizontalListView
android:id="@+id/hlvCustomList"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_gravity="center_vertical"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/add_image"
android:focusable="false"
android:focusableInTouchMode="false"
android:descendantFocusability="blocksDescendants" />
在你的水平元素中,这是关键:
android:focusable="false"
android:focusableInTouchMode="false"
android:descendantFocusability="blocksDescendants"
希望这会对你有帮助;)
答案 5 :(得分:0)
尝试使用NestedScrollView
而不是滚动视图
然后在Java中将添加recyclerView.setNestedScrollingEnabled(false);
输入到您的RecyclerView