应用栏,视图跟随片段边缘

时间:2016-01-28 09:07:00

标签: android

如何在Gmail应用中构建App Bar?

那时导航抽屉是
A /折叠了 B /扩大的 “搜索图标”[属于带有电子邮件列表的片段]跟随片段的右边缘。

案例A和B见下图。

假设使用Android 5中的AppBar,例如:

  • 工具栏
  • AppBarLayout
  • CoordinatorLayout

enter image description here

enter image description here

TNX!

1 个答案:

答案 0 :(得分:0)

您的应用中包含多个元素。我将引导您访问您需要搜索的页面,以获得完成项目所需的答案。

要在应用栏中实现搜索功能,this answer肯定会对您有所帮助。我自己从未这样做过,但我相信你会在那篇文章中找到答案。

要实现屏幕的其余部分,我会选择Master / Detail Flow活动和Navigation抽屉的组合。因此,在创建项目时,我会选择Master / Detail流作为主要活动(Android 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;
    }

}

希望这会有所帮助:)