我有一个Recyclerview在NestedScrollview ..一切都正常工作,除了一个thig.我在NestedScrollview中总共有三个视图前两个是LinearLayout然后Recyclerview.当我运行我的应用程序时,活动不会显示顶部的两个布局,它从Recyclerview的顶部开始.
如何显示我的布局:
它的假设如何显示:
而且我正在加载这个enite布局在一个viewpager下,我的viewpager是一个协调器布局的孩子.
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.NestedScrollView android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/home_layout_background"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <com.daimajia.slider.library.SliderLayout android:id="@+id/image_slider" android:layout_width="match_parent" android:layout_height="@dimen/image_slider_height" android:layout_marginTop="@dimen/image_slider_top_margin" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/popular_fragment_side_padding" android:layout_marginRight="@dimen/popular_fragment_side_padding" android:layout_marginTop="@dimen/popular_fragment_side_padding" android:orientation="horizontal" android:weightSum="4"> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <RelativeLayout android:id="@+id/free_delivery" android:layout_width="76dp" android:layout_height="76dp" android:layout_centerInParent="true" android:background="@color/white"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <ImageView android:id="@+id/btnImageViewFreeDelivery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/icon_free_delivery" /> <TextView android:id="@+id/btnTextFreeDelivery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnImageViewFreeDelivery" android:layout_centerHorizontal="true" android:layout_marginTop="2dp" android:text="@string/free_delivery_txt" android:textColor="@color/popular_fragment_four_btn_txt" android:textSize="@dimen/popular_fragment_four_btn_txt_size" /> </RelativeLayout> </RelativeLayout> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <RelativeLayout android:id="@+id/flash_deals" android:layout_width="76dp" android:layout_height="76dp" android:layout_centerInParent="true" android:background="@color/white"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <ImageView android:id="@+id/btnImageViewFlashDeals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/icon_flash_deals" /> <TextView android:id="@+id/btnTextFlashDeals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnImageViewFlashDeals" android:layout_centerHorizontal="true" android:layout_marginTop="2dp" android:text="@string/flash_deals_txt" android:textColor="@color/popular_fragment_four_btn_txt" android:textSize="@dimen/popular_fragment_four_btn_txt_size" /> </RelativeLayout> </RelativeLayout> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <RelativeLayout android:id="@+id/for_you" android:layout_width="76dp" android:layout_height="76dp" android:layout_centerInParent="true" android:background="@color/white"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <ImageView android:id="@+id/btnImageViewForYou" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/icon_for_you" /> <TextView android:id="@+id/btnTextForYou" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnImageViewForYou" android:layout_centerHorizontal="true" android:layout_marginTop="2dp" android:text="@string/for_you_txt" android:textColor="@color/popular_fragment_four_btn_txt" android:textSize="@dimen/popular_fragment_four_btn_txt_size" /> </RelativeLayout> </RelativeLayout> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <RelativeLayout android:id="@+id/shake_deals" android:layout_width="76dp" android:layout_height="76dp" android:layout_centerInParent="true" android:background="@color/white"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <ImageView android:id="@+id/btnImageViewShakeDeals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/icon_shake_deals" /> <TextView android:id="@+id/btnTextShakeDeals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnImageViewShakeDeals" android:layout_centerHorizontal="true" android:layout_marginTop="2dp" android:text="@string/shake_deals" android:textColor="@color/popular_fragment_four_btn_txt" android:textSize="@dimen/popular_fragment_four_btn_txt_size" /> </RelativeLayout> </RelativeLayout> </RelativeLayout> </LinearLayout> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="@dimen/popular_fragment_side_padding" android:layout_marginRight="@dimen/popular_fragment_side_padding" android:layout_marginTop="18dp" android:scrollbars="none" /> </LinearLayout> </android.support.v4.widget.NestedScrollView>
我的ViewPager布局
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/home_layout_background" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:layout_gravity="center" android:background="@drawable/toolbar_background" app:layout_scrollFlags="scroll|enterAlways"> <TextView android:id="@+id/toolbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/title_home" android:textColor="@color/toolbar_title_txt_color" android:textSize="@dimen/toolbar_txt_size" android:textStyle="bold" /> </android.support.v7.widget.Toolbar> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" app:tabMode="scrollable" app:tabTextColor="@color/tab_bar_txt" app:tabIndicatorColor="@color/tab_bar_txt_selected" app:tabSelectedTextColor="@color/tab_bar_txt_selected" app:tabTextAppearance="@style/TabTextAppeareance"/> </android.support.design.widget.AppBarLayout> </android.support.design.widget.CoordinatorLayout>
解决方法
这是焦点问题.尝试:
findViewById(R.id.recycler_view).setFoucsable(false) findViewById(R.id.temp).requesFocus(); <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.NestedScrollView android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/home_layout_background"> <LinearLayout android:id="@+id/temp" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <com.daimajia.slider.library.SliderLayout android:id="@+id/image_slider" android:layout_width="match_parent" android:layout_height="@dimen/image_slider_height" android:layout_marginTop="@dimen/image_slider_top_margin" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/popular_fragment_side_padding" android:layout_marginRight="@dimen/popular_fragment_side_padding" android:layout_marginTop="@dimen/popular_fragment_side_padding" android:orientation="horizontal" android:weightSum="4"> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <RelativeLayout android:id="@+id/free_delivery" android:layout_width="76dp" android:layout_height="76dp" android:layout_centerInParent="true" android:background="@color/white"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <ImageView android:id="@+id/btnImageViewFreeDelivery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/icon_free_delivery" /> <TextView android:id="@+id/btnTextFreeDelivery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnImageViewFreeDelivery" android:layout_centerHorizontal="true" android:layout_marginTop="2dp" android:text="@string/free_delivery_txt" android:textColor="@color/popular_fragment_four_btn_txt" android:textSize="@dimen/popular_fragment_four_btn_txt_size" /> </RelativeLayout> </RelativeLayout> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <RelativeLayout android:id="@+id/flash_deals" android:layout_width="76dp" android:layout_height="76dp" android:layout_centerInParent="true" android:background="@color/white"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <ImageView android:id="@+id/btnImageViewFlashDeals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/icon_flash_deals" /> <TextView android:id="@+id/btnTextFlashDeals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnImageViewFlashDeals" android:layout_centerHorizontal="true" android:layout_marginTop="2dp" android:text="@string/flash_deals_txt" android:textColor="@color/popular_fragment_four_btn_txt" android:textSize="@dimen/popular_fragment_four_btn_txt_size" /> </RelativeLayout> </RelativeLayout> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <RelativeLayout android:id="@+id/for_you" android:layout_width="76dp" android:layout_height="76dp" android:layout_centerInParent="true" android:background="@color/white"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <ImageView android:id="@+id/btnImageViewForYou" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/icon_for_you" /> <TextView android:id="@+id/btnTextForYou" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnImageViewForYou" android:layout_centerHorizontal="true" android:layout_marginTop="2dp" android:text="@string/for_you_txt" android:textColor="@color/popular_fragment_four_btn_txt" android:textSize="@dimen/popular_fragment_four_btn_txt_size" /> </RelativeLayout> </RelativeLayout> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <RelativeLayout android:id="@+id/shake_deals" android:layout_width="76dp" android:layout_height="76dp" android:layout_centerInParent="true" android:background="@color/white"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <ImageView android:id="@+id/btnImageViewShakeDeals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/icon_shake_deals" /> <TextView android:id="@+id/btnTextShakeDeals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnImageViewShakeDeals" android:layout_centerHorizontal="true" android:layout_marginTop="2dp" android:text="@string/shake_deals" android:textColor="@color/popular_fragment_four_btn_txt" android:textSize="@dimen/popular_fragment_four_btn_txt_size" /> </RelativeLayout> </RelativeLayout> </RelativeLayout> </LinearLayout> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:focusable="false" android:focusableInTouchMode="false" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="@dimen/popular_fragment_side_padding" android:layout_marginRight="@dimen/popular_fragment_side_padding" android:layout_marginTop="18dp" android:scrollbars="none" /> </LinearLayout> </android.support.v4.widget.NestedScrollView>