2016-01-28 8 views
5

GmailアプリケーションのようにApp Barを構築するにはどうすればよいですか?ナビゲーションドロワーが
A /である場合であるフラグメントバーの後に表示されるアプリケーションバー

フラグメントの右端以下れる[電子メールリストとフラグメントに属する]
B /拡張
「検索アイコン」崩壊しました。

は、例えば、

アンドロイド5からアプリケーションバーのものを使用して、仮定ケースA用画像及びB.下記参照:

  • ツールバー
  • AppBarLayout
  • CoordinatorLayout

enter image description here

Tnx!

答えて

0

アプリにはいくつかの要素があります。私はあなたのプロジェクトを完了するために必要な答えを得るために検索する必要があるページにあなたを案内します。

アプリバーで検索機能を実装するには、this answerが間違いなく役に立ちます。私は自分でそれをやったことはありませんが、あなたはその投稿であなたの答えを見つけることができると確信しています。

残りの画面を実装するには、ナビゲーション・ドロワーと一緒にマスター/詳細フロー・アクティビティーの組み合わせを選択します。プロジェクトを作成するときにだから私は、主な活動(アンドロイドStudioのサンプルの一部)として、マスター/ディテール・フローを選択し、次のコードを追加します。

public class NavDrawerListAdapter extends BaseAdapter { 

    private Context context; 
    private ArrayList<NavDrawerItem> navDrawerItems; 

    public NavDrawerListAdapter(Context context, ArrayList<NavDrawerItem> navDrawerItems){ 
     this.context = context; 
     this.navDrawerItems = navDrawerItems; 
    } 

    @Override 
    public int getCount() { 
     return navDrawerItems.size(); 
    } 

    @Override 
    public Object getItem(int position) {  
     return navDrawerItems.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     if (convertView == null) { 
      LayoutInflater mInflater = (LayoutInflater) 
        context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
      convertView = mInflater.inflate(R.layout.drawer_list_item, null); 
     } 

     ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon); 
     TextView txtTitle = (TextView) convertView.findViewById(R.id.title); 
     TextView txtCount = (TextView) convertView.findViewById(R.id.counter); 

     imgIcon.setImageResource(navDrawerItems.get(position).getIcon());   
     txtTitle.setText(navDrawerItems.get(position).getTitle()); 

     // displaying count 
     // check whether it set visible or not 
     if(navDrawerItems.get(position).getCounterVisibility()){ 
      txtCount.setText(navDrawerItems.get(position).getCount()); 
     }else{ 
      // hide the counter view 
      txtCount.setVisibility(View.GONE); 
     } 

     return convertView; 
    } 

} 

希望はこのことができます:)持っ

+0

をこの答えはあなたを助けましたか?はいの場合は受け入れてupvoteしてください。 –

関連する問題