2015-07-21 67 views
2

我跟隨this tutorial on hiding/showing toolbar when list is scrolling安卓與Material DesignSupport不會隱藏工具欄

如果我使用的源項目工作正常,但當我試圖創建一個示例時,它不起作用。 我有隱藏工具欄和標籤的問題。

這是我的主要活動。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/coordinatorLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appBarLayout" 
     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:background="@color/color_accent_pink" 
      app:layout_scrollFlags="scroll|enterAlways" 
      /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabTextColor="@android:color/white" 
      app:tabSelectedTextColor="@android:color/white" 
      app:tabIndicatorColor="@android:color/white" 
      app:tabIndicatorHeight="6dp" 
      app:layout_scrollFlags="scroll|enterAlways" 
      /> 

    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewPager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" 
     /> 

</android.support.design.widget.CoordinatorLayout> 

recyclerview

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.RecyclerView 
    android:id="@+id/my_recycler_view" 
    android:scrollbars="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" /> 

MyAdapter

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>  
{ 
    int mSize; 
    Context mContext; 
    LayoutInflater mLayoutInflater; 

    public MyAdapter(int mSize, Context context) { 
     this.mSize = mSize; 
     this.mContext = context; 
     this.mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 

    @Override 
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View v = mLayoutInflater.inflate(R.layout.item_recyclerview,parent,false); 
     MyViewHolder myViewHolder = new MyViewHolder(v); 
     return myViewHolder; 
    } 

    @Override 
    public void onBindViewHolder(MyViewHolder holder, int position) { 
     holder.textView.setText("position: "+position); 

    } 

    @Override 
    public int getItemCount() { 
     return mSize; 
    } 

    public class MyViewHolder extends RecyclerView.ViewHolder{ 
     public TextView textView; 
     public MyViewHolder(View itemView) { 
      super(itemView); 
      textView = (TextView) itemView.findViewById(R.id.textView); 
     } 
    } 
} 

,這是我的片段與回收站視圖。

public class ListFragment extends Fragment { 

    protected RecyclerView mRecyclerView; 
    public int mSize; 

    public int getmSize() { 
     return mSize; 
    } 

    public void setmSize(int mSize) { 
     this.mSize = mSize; 
    } 

    @Nullable 
    @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.recycler_view,container,false); 
     Log.i("mSizeOnCreateView", String.valueOf(mSize)); 
     mRecyclerView = (RecyclerView) v.findViewById(R.id.my_recycler_view); 
     mRecyclerView.setHasFixedSize(true); 
     LinearLayoutManager llm = new LinearLayoutManager(getActivity()); 
     llm.setOrientation(LinearLayoutManager.VERTICAL); 
     mRecyclerView.setLayoutManager(llm); 
     MyAdapter myAdapter = new MyAdapter(mSize,getActivity()); 
     mRecyclerView.setAdapter(myAdapter); 
     return v; 
    } 

} 

回答

1

問題是版本的回收視圖

compile 'com.android.support:recyclerview-v7:22.2.0' 

一切都解決了。