我无法在https://developer.android.com/preview/api-overview.html
找到此信息谢谢!
答案 0 :(得分:33)
他们没有太多关注这个伟大的新功能。我一直在玩它,我想我已经弄明白了。您所要做的就是设置
android:nestedScrollingEnabled="true"
在嵌套(子)可滚动视图中,假设您在另一个内部某处。这会导致子视图滚动到完成,然后允许其父视图使用其余的滚动。我发现我更喜欢相反的行为 - 父获取滚动优先级,然后子进程 - 所以我在ScrollView中覆盖了onNestedScroll
方法,如下所示:
@Override
public void onNestedScroll(View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) {
//swap dyConsumed and dyUnconsumed
super.onNestedScroll(target, dxConsumed, dyUnconsumed, dxUnconsumed, dyConsumed);
}
您应该将这个新的ScrollView子类用于外部(父)ScrollView。
答案 1 :(得分:3)
除guyIntrepid's answer外,请务必将 onStartNestedScroll 添加到自定义ScrollView或ViewPager,返回true 。
@Override
public boolean onStartNestedScroll(View child, View target, int nestedScrollAxes){
return true;
}
答案 2 :(得分:-1)
***Intento, hacer dos gridviews móviles(horizontal y verticalmente), dentro de un scrollview mas grande, pero al fijar el objetivo en los gridviews, solo me deja moverlos horizontalmente.***
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
android:id="@+id/scv">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:orientation="vertical"
android:id="@+id/tt">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="10dp"
android:gravity="center">
<EditText
android:layout_width="match_parent"
android:layout_height="40dp"
android:backgroundTint="#50000000"
android:textColor="#000000"
android:inputType="number"
android:id="@+id/NumeroPresupuesto"
android:hint="Nº presupuesto"
android:textColorHint="#000000"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="#50000000"
android:textColor="#F6D405"
android:id="@+id/FechaPresupuesto"
android:text="FECHA"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Importe Total:"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#30000000"
android:textColor="#F6D405"
android:enabled="false"
android:gravity="center"
android:layout_marginLeft="5dp"
android:id="@+id/borrar_firma"
android:text="0,00€"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/ln">
<HorizontalScrollView
android:id="@+id/hsv"
android:layout_width="fill_parent"
android:layout_height="300dp"
android:layout_weight="0"
android:fillViewport="true"
android:measureAllChildren="false"
android:scrollbars="none" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="300dp"
android:gravity="center_vertical"
android:orientation="horizontal" >
<GridView
android:id="@+id/Rejilla"
android:layout_width="1000dp"
android:layout_height="match_parent"
android:background="#10000000"
android:gravity="center"
android:horizontalSpacing="0dp"
android:columnWidth="100dp"
android:numColumns="6"
android:stretchMode="columnWidth"
android:verticalSpacing="1dp">
</GridView>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:id="@+id/ln1">
<View
android:layout_marginTop="10dp"
android:paddingTop="20dp"
android:layout_height="2dp"
android:layout_width="fill_parent"
android:background="#000000" />
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Tarifa de Colaborador"/>
<HorizontalScrollView
android:id="@+id/hsv1"
android:layout_width="fill_parent"
android:layout_height="300dp"
android:layout_weight="0"
android:fillViewport="true" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="300dp"
android:nestedScrollingEnabled="true">
<LinearLayout
android:id="@+id/innerLay1"
android:layout_width="wrap_content"
android:layout_height="300dp"
android:gravity="center_vertical"
android:orientation="horizontal" >
<GridView
android:id="@+id/Rejilla1"
android:layout_width="1000dp"
android:layout_height="match_parent"
android:background="#10000000"
android:gravity="center"
android:horizontalSpacing="0dp"
android:columnWidth="100dp"
android:numColumns="6"
android:stretchMode="columnWidth"
android:verticalSpacing="1dp"
</GridView>
</LinearLayout>
</ScrollView>
</HorizontalScrollView>
<View
android:layout_marginTop="10dp"
android:paddingTop="20dp"
android:layout_height="2dp"
android:layout_width="fill_parent"
android:background="#000000" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="5pt">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="20dp"
android:gravity="center">
<EditText
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:backgroundTint="#50000000"
android:textColor="#FFFFFF"
android:inputType="number"
android:id="@+id/Codigo"
android:hint="Unidad"
android:textColorHint="#000000"/>
<EditText
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:backgroundTint="#50000000"
android:textColor="#FFFFFF"
android:inputType="number"
android:id="@+id/Unidad"
android:hint="Código"
android:textColorHint="#000000"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="20dp"
android:gravity="center">
<EditText
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:backgroundTint="#50000000"
android:textColor="#FFFFFF"
android:inputType="number"
android:id="@+id/Medicion"
android:hint="Medicion"
android:textColorHint="#000000"/>
<EditText
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:backgroundTint="#50000000"
android:textColor="#FFFFFF"
android:inputType="number"
android:id="@+id/PrecioPresupuestos"
android:hint="Precio"
android:textColorHint="#000000"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="20dp"
android:gravity="center">
<EditText
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:backgroundTint="#50000000"
android:textColor="#FFFFFF"
android:inputType="number"
android:id="@+id/Importe"
android:hint="Importe"
android:textColorHint="#000000"/>
<Spinner
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/CajaIVA">
</Spinner>
</LinearLayout>
</LinearLayout>
<View
android:layout_marginTop="10dp"
android:paddingTop="20dp"
android:layout_height="2dp"
android:layout_width="fill_parent"
android:background="#000000" />
<EditText
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:lines="5"
android:scrollHorizontally="false"
android:scrollbars="vertical"
android:gravity="top|left"
tools:textColor="#FFFFFF"
android:hint="Descripción"
android:backgroundTint="#88000000"
android:id="@+id/editText2" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="20dp"
android:gravity="center">
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:backgroundTint="#000000"
android:textColor="#F6D405"
android:id="@+id/NuevoRegistro"
android:alpha="0.4"
android:text="Nuevo Registro"/>
/>
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:backgroundTint="#000000"
android:textColor="#F6D405"
android:id="@+id/EliminarRegistro"
android:alpha="0.4"
android:text="Eliminar Registro"/>
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:backgroundTint="#000000"
android:textColor="#F6D405"
android:id="@+id/GrabarRegistro"
android:alpha="0.4"
android:text="Grabar Registro"/>
</LinearLayout>
</LinearLayout>
</ScrollView>