Android 必须向上滚动才能查看上部布局项
当活动启动时,您首先看到的是recylerview,而不是上面的项目 第一个元素是包含imageview的cardview,然后是包含radiobutton组的cardview。要访问这些项目,您必须向上滚动屏幕 没有错误,我如何解决这个问题 注意:当我不使用nestedScrollView时,我的问题就解决了,但在这种情况下,最终的cardview(iLuding imageview)不会出现 这是xml代码Android 必须向上滚动才能查看上部布局项,android,xml,layout,android-recyclerview,Android,Xml,Layout,Android Recyclerview,当活动启动时,您首先看到的是recylerview,而不是上面的项目 第一个元素是包含imageview的cardview,然后是包含radiobutton组的cardview。要访问这些项目,您必须向上滚动屏幕 没有错误,我如何解决这个问题 注意:当我不使用nestedScrollView时,我的问题就解决了,但在这种情况下,最终的cardview(iLuding imageview)不会出现 这是xml代码 <FrameLayout android:id="@+id/content
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="3dp"
android:layout_marginLeft="3dp"
android:layout_marginBottom="3dp"
android:layout_marginTop="3dp">
<ImageView
android:id="@+id/sarasari_mainact_iv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:adjustViewBounds="true"
android:src="@drawable/ad12_20" />
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="3dp"
android:layout_marginLeft="3dp">
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:layout_marginTop="3dp"
android:layout_marginBottom="5dp"
android:id="@+id/reshteha_radio_gruop">
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="math" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="science" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="human scinces" />
<RadioButton
android:id="@+id/radioButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="language" />
<RadioButton
android:id="@+id/radioButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="religion" />
</RadioGroup>
</android.support.v7.widget.CardView>
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp" />
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="3dp"
android:layout_marginLeft="3dp"
android:layout_marginBottom="6dp"
android:layout_marginTop="3dp">
<ImageView
android:id="@+id/sarasari_mainact_iv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:adjustViewBounds="true"
android:src="@drawable/ad12_20" />
</android.support.v7.widget.CardView>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</FrameLayout>
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="?android:attr/windowBackground"
app:menu="@menu/navigation"/>
您需要在
android.support.v4.widget.NestedScrollView下的第一个布局中添加DegenantFocusability
,如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants" >
您需要在android.support.v4.widget.NestedScrollView下的第一个布局中添加substantFocusability
,如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants" >
我想这就是解决您问题的方法。检查此链接:
我想这就是你问题的解决办法。检查此链接:
成功了!tnx,但还有另一个解决方案,通过在linearlayout android:focusableInTouchMode=“true”的代码下添加以下内容,哪一个更好,有什么区别?很酷,很高兴它帮助了你。我真的不确定,但我认为android:DegenantFocusability阻止了recyclerview最初的聚焦。成功了!tnx,但还有另一个解决方案,通过在linearlayout android:focusableInTouchMode=“true”的代码下添加以下内容,哪一个更好,有什么区别?酷,很高兴它帮助了你。我真的不确定,但我认为android:DegenantFocusability阻止了recyclerview最初的关注。