Scrollview - 如何使滚动视图一次显示 2 children 但仍相对于屏幕大小?
Scrollview - How do you make a scroll view display 2 children at a time yet still relative to the screen size?
我想知道是否有任何方法可以使 ScrollView 中的 children 一次只显示 2 个 children。我尝试将每个 children 的布局高度设置为 0dp 并设置权重,但它会同时显示所有 children。
我已经尝试将 children 高度设置为特定数量并且它有效但仅适用于我的特定屏幕尺寸。
这是我的示例代码:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:clickable="false"
android:focusableInTouchMode="false"
android:focusable="false">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ff0000"
android:layout_weight=".5"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#7458ff"
android:layout_weight=".5"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#56ffe3"
android:layout_weight=".5"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ffffff"
android:layout_weight=".5"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#fffd69"
android:layout_weight=".5"></LinearLayout>
</LinearLayout>
Here is what it looks like when I set the view height to 0dp and use weights
你试过 LayoutInflater 了吗?你有一个例子here or here
一个解决方案是以编程方式设置每个 child 的高度 luke
view.getLayoutParams().height = getHalfScreenSize();
半屏尺寸是这样的:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics).heightPixels/2;
我想知道是否有任何方法可以使 ScrollView 中的 children 一次只显示 2 个 children。我尝试将每个 children 的布局高度设置为 0dp 并设置权重,但它会同时显示所有 children。 我已经尝试将 children 高度设置为特定数量并且它有效但仅适用于我的特定屏幕尺寸。
这是我的示例代码:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:clickable="false"
android:focusableInTouchMode="false"
android:focusable="false">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ff0000"
android:layout_weight=".5"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#7458ff"
android:layout_weight=".5"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#56ffe3"
android:layout_weight=".5"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ffffff"
android:layout_weight=".5"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#fffd69"
android:layout_weight=".5"></LinearLayout>
</LinearLayout>
Here is what it looks like when I set the view height to 0dp and use weights
你试过 LayoutInflater 了吗?你有一个例子here or here
一个解决方案是以编程方式设置每个 child 的高度 luke
view.getLayoutParams().height = getHalfScreenSize();
半屏尺寸是这样的:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics).heightPixels/2;