2015-05-27 178 views
0

美好的一天。我有如下所示添加滾動視圖後相對佈局不滾動

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fillViewport="true" > 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     tools:context=".MainActivity"> 

     <include 
      android:id="@+id/toolbar" 
      layout="@layout/app_bar" /> 


     <android.support.v4.view.ViewPager 
      android:id="@+id/viewpager" 
      android:layout_width="match_parent" 
      android:layout_height="165dp" 
      android:layout_below="@+id/toolbar" /> 

     <RelativeLayout 
      android:id="@+id/relativeLayout" 
      android:layout_width="match_parent" 
      android:layout_height="25dp" 
      android:layout_alignBottom="@id/viewpager" 
      android:background="#33000000"> 

      <TextView 
       android:id="@+id/tv_image_description" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_centerVertical="true" 
       android:paddingLeft="10dp" 
       android:text="Shop Name" 
       android:textColor="#FFF" /> 


      <LinearLayout 
       android:id="@+id/ll_point_group" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:orientation="horizontal" 
       android:paddingRight="10dp"> 

      </LinearLayout> 
     </RelativeLayout> 


     <android.support.v7.widget.RecyclerView 
      android:id="@+id/cardList" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@+id/relativeLayout" /> 


    </RelativeLayout> 
</ScrollView> 

佈局的代碼,我連我的recyclerview數據的列表,但爲什麼RecyclerView佈局是滾動的,但不是整個RelativeLayout的。我用ScrollView封裝了RelativeLayout。它似乎不工作。請看下面的圖片This is how to layout look like

請讓我知道如果你們有更好的解決方案。十億謝謝。

+0

您已設置'fill_parent'爲相對以及滾動型 – SilentKiller

+0

@ user10908 one..It可以幫助...請嘗試以下代碼 –

+0

嘗試添加此屬性: android:descendantFocusability =「blocksDescendants」RelativeLayout –

回答

1

更改RelativeLayout高度WRAP_CONTENT

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    tools:context=".MainActivity"> 
1

您已加入另一人RecycleView一個滾動元件的滾動型 所以只有一個需要關注的焦點。這是違反android準則。你不應該把一個滾動組件放在另一個組件中。 但是同時實現滾動

yourRecycleView.setOnTouchListener(new OnTouchListener() { 
    // Setting on Touch Listener for handling the touch inside ScrollView 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    // Disallow the touch request for parent scroll on touch of child view 
    v.getParent().requestDisallowInterceptTouchEvent(true); 
    return false; 
    } 
}); 
+0

有一個規則在stackoverflow,你應該發表評論,你爲什麼downvoted我的答案 –

+0

這裏沒有這樣的規則。 –

+0

建議至少爲downvoting給出一個合適的解釋,以便我知道我做錯了什麼,而不僅僅是爲了它,你有權downvote –

0

嘗試這些你

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fillViewport="true" > 

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <include 
      android:id="@+id/toolbar" 
      layout="@layout/app_bar" /> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/viewpager" 
      android:layout_width="match_parent" 
      android:layout_height="165dp" 
      android:layout_below="@+id/toolbar" /> 

     <RelativeLayout 
      android:id="@+id/relativeLayout" 
      android:layout_width="match_parent" 
      android:layout_height="25dp" 
      android:layout_alignBottom="@id/viewpager" 
      android:background="#33000000" > 

      <TextView 
       android:id="@+id/tv_image_description" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_centerVertical="true" 
       android:paddingLeft="10dp" 
       android:text="Shop Name" 
       android:textColor="#FFF" /> 

      <LinearLayout 
       android:id="@+id/ll_point_group" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:orientation="horizontal" 
       android:paddingRight="10dp" > 
      </LinearLayout> 
     </RelativeLayout> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/cardList" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@+id/relativeLayout" /> 
    </RelativeLayout> 
    </ScrollView> 
</RelativeLayout> 
+0

@ user10908 ..它適用於你嗎? ?? –

+0

不幸的是它不起作用。 – user10908

+0

哦對不起......給scroll_homeht wrap_content ...比它可能是可能的 –