Android expandablelistview,包含6到7个textview和imageview作为子视图

时间:2014-04-11 05:44:07

标签: android expandablelistview expandablelistadapter

我已经完成了许多教程并使用一个textview作为groupview的子项实现了expandablelistview。现在我需要实现expandablelistview,其中包含6-7个textviews和imageview作为每个组的子项。 谁能帮忙..

抱歉画画不好   https://copy.com/IdpK0BLDUHck

2 个答案:

答案 0 :(得分:0)

请遵循此代码

import java.util.ArrayList;

import android.app.Activity;
import android.app.ExpandableListActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.CheckedTextView;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.parsedemoapp.ParseMainActivity;
import com.rstm.quizappsforiit.R;

public class ExpandableListMainActivity extends ExpandableListActivity {
    // Create ArrayList to hold parent Items and Child Items
    private ArrayList<String> parentItems = new ArrayList<String>();
    private ArrayList<Object> childItems = new ArrayList<Object>();
    private ArrayList<Integer> childimage = new ArrayList<Integer>();
    ImageView imageView2;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Create Expandable List and set it's properties
        ExpandableListView expandableList = getExpandableListView();
        expandableList.setDividerHeight(2);
        expandableList.setGroupIndicator(null);
        expandableList.setClickable(true);
        // Set the Items of Parent
        setGroupParents();
        // Set The Child Data
        setChildData();
        // Create the Adapter

        MyExpandableAdapter adapter = new MyExpandableAdapter(parentItems,
                childItems, childimage);
        adapter.setInflater(
                (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE),
                this);
        // Set the Adapter to expandableList
        expandableList.setAdapter(adapter);
        expandableList.setOnChildClickListener(this);

    }

    // method to add parent Items
    public void setGroupParents() {

        parentItems.add("Chemistry");
        parentItems.add("Mathematics");
        parentItems.add("Physics");
    }

    // method to set child data of each parent
    public void setChildData() {
        // Add Child Items for Fruits
        ArrayList<String> child = new ArrayList<String>();

        child.add("Some Basic Concepts");
        child.add("States of Matter");
        child.add("Atomic Structure");
        child.add("Solutions");
        child.add("Chemical Energetics and Thermodynamics");
        child.add("Chemical and Ionic Equilibria");
        child.add("Redox Reactions and Electrochemistry");

        childItems.add(child);

        childimage.add(R.drawable.buy1);
        childItems.add(childimage);
        // Add Child Items for Animals
        child = new ArrayList<String>();
        child.add("Physics and Measurement");
        child.add("Kinematics");
        child.add("Laws of Motion");
        child.add("Work, Energy and Power");
        child.add("Rotational Motion");
        child.add("Gravitation");
        child.add("Solids and Fluids");

        childItems.add(child);

        childItems.add(childimage);
    }

    public class MyExpandableAdapter extends BaseExpandableListAdapter {
        private Activity activity;
        private ArrayList<Object> childtems;
        private ArrayList<Integer> childimage;
        private LayoutInflater inflater;
        private ArrayList<String> parentItems, child;

        public MyExpandableAdapter(ArrayList<String> parents,
                ArrayList<Object> childern, ArrayList<Integer> childimage) {
            this.parentItems = parents;
            this.childtems = childern;
            this.childimage = childimage;
        }

        public void setInflater(LayoutInflater inflater, Activity activity) {
            this.inflater = inflater;
            this.activity = activity;
        }

        @SuppressWarnings("unchecked")
        @Override
        public View getChildView(int groupPosition, final int childPosition,
                boolean isLastChild, View convertView, ViewGroup parent) {

            child = (ArrayList<String>) childtems.get(groupPosition);
            TextView textView = null;

            if (convertView == null) {
                convertView = inflater.inflate(R.layout.child_view, null);
            }
            textView = (TextView) convertView.findViewById(R.id.textViewChild);
            String a = child.get(childPosition);

            textView.setText(child.get(childPosition));
            imageView2 = (ImageView) convertView.findViewById(R.id.imageView2);

            imageView2.setBackgroundResource(childimage.get(childPosition));

            convertView.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View view) {

                }
            });
            return convertView;
        }

        @Override
        public View getGroupView(int groupPosition, boolean isExpanded,
                View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = inflater.inflate(R.layout.parent_view, null);
            }
            ((CheckedTextView) convertView).setText(parentItems
                    .get(groupPosition));
            ((CheckedTextView) convertView).setChecked(isExpanded);
            return convertView;
        }

        @Override
        public Object getChild(int groupPosition, int childPosition) {
            return null;
        }

        @Override
        public long getChildId(int groupPosition, int childPosition) {
            return 0;
        }

        @SuppressWarnings("unchecked")
        @Override
        public int getChildrenCount(int groupPosition) {
            return ((ArrayList<String>) childtems.get(groupPosition)).size();
        }

        @Override
        public Object getGroup(int groupPosition) {
            return null;
        }

        @Override
        public int getGroupCount() {
            return parentItems.size();
        }

        @Override
        public void onGroupCollapsed(int groupPosition) {
            super.onGroupCollapsed(groupPosition);
        }

        @Override
        public void onGroupExpanded(int groupPosition) {
            super.onGroupExpanded(groupPosition);
        }

        @Override
        public long getGroupId(int groupPosition) {
            return 0;
        }

        @Override
        public boolean hasStableIds() {
            return false;
        }

        @Override
        public boolean isChildSelectable(int groupPosition, int childPosition) {
            return false;
        }

    }

}

答案 1 :(得分:0)

源代码

enter image description here

https://drive.google.com/open?id=0BzBKpZ4nzNzUVkExUDlqRFhtcGc

package com.keshav.expandablelistviewindrawerkeshav;

import android.os.Bundle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class DrawerActivityExpandable extends AppCompatActivity 
{
    Toolbar toolbar;
    private DrawerLayout drawer;
    private ExpandableListView drawerList;
    private ActionBarDrawerToggle actionBarDrawerToggle;
    List<String> listDataHeader;
    HashMap<String, List<String>> listDataChild;

    ImageView profile_image;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_drawer_expandable);

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        toolbar.setTitle("ABC");
//        getSupportActionBar().setDisplayShowHomeEnabled(true);

        initDrawer();

        // Listview Group click listener
        drawerList.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {

            @Override
            public boolean onGroupClick(ExpandableListView parent, View v,
                                        int groupPosition, long id) {
                Toast.makeText(getApplicationContext(),
                        "Group Clicked " + listDataHeader.get(groupPosition),
                        Toast.LENGTH_SHORT).show();

                return false;
            }

        });

        // Listview Group expanded listener
        drawerList.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {

            // TODO Colapse Here Using this... in android
            int previousGroup = -1;
            boolean flag = false;

            @Override
            public void onGroupExpand(int groupPosition) {

                Log.e("keshav", "onGroupClick is -> " + groupPosition);

                Toast.makeText(getApplicationContext(),
                        listDataHeader.get(groupPosition) + " Expanded",
                        Toast.LENGTH_SHORT).show();

                if (groupPosition != previousGroup && flag) {
                    drawerList.collapseGroup(previousGroup);
                }
                previousGroup = groupPosition;
                flag = true;

                if(groupPosition==0 ||groupPosition==1||groupPosition==4){
                    drawer.closeDrawer(drawerList);
                    toolbar.setTitle(""+listDataHeader.get(groupPosition));
                }
            }
        });


        // Listview Group collasped listener
        drawerList.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {

            @Override
            public void onGroupCollapse(int groupPosition) {
                Toast.makeText(getApplicationContext(),
                        listDataHeader.get(groupPosition) + " Collapsed",
                        Toast.LENGTH_SHORT).show();

            }
        });


        // Todo Listview on child click listener
        drawerList.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

            @Override
            public boolean onChildClick(ExpandableListView parent, View v,
                                        int groupPosition, int childPosition, long id) {
                // TODO Auto-generated method stub
                Toast.makeText(
                        getApplicationContext(),
                        listDataHeader.get(groupPosition)
                                + " : keshav : "
                                + listDataChild.get(
                                listDataHeader.get(groupPosition)).get(
                                childPosition), Toast.LENGTH_SHORT)
                        .show();

                Log.e("keshav","Child Data 1->"+listDataHeader.get(groupPosition));
                Log.e("keshav","Child Data 2->"+listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition));

                toolbar.setTitle(""+listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition));

//                if(groupPosition==2 ||groupPosition==3)
                    drawer.closeDrawer(drawerList);

                return false;
            }
        });

        profile_image.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Log.e("Keshav", "Clck Profile Image");

                /*if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    int permissionCheck = ContextCompat.checkSelfPermission(DrawerActivity.this,
                            Manifest.permission.CAMERA);
                    if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
                        //showing dialog to select image
                        selectImage();
                        Log.e("permission", "granted");
                    } else {
                        ActivityCompat.requestPermissions(DrawerActivity.this,
                                new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
                                        Manifest.permission.WRITE_EXTERNAL_STORAGE,
                                        Manifest.permission.CAMERA}, 1);
                    }
                } else {
                    selectImage();
                }*/
            }
        });
    }

    private void initDrawer() {
        drawer = (DrawerLayout) findViewById(R.id.drawer_layout);

        drawerList = (ExpandableListView) findViewById(R.id.left_drawer);

        View header = getLayoutInflater().inflate(R.layout.nav_header_main, null);
        drawerList.addHeaderView(header);
        drawer.setDrawerShadow(R.mipmap.drawer_shadow, GravityCompat.START);

        profile_image = (ImageView) header.findViewById(R.id.user_profile_image);

        profile_image.setBackgroundResource(R.mipmap.keshav);


//        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//        getSupportActionBar().setHomeButtonEnabled(true);

        // preparing list data
        prepareListData();

        drawerList.setAdapter(new NavigationDrawerExpandableAdapter(this, listDataHeader, listDataChild));

//        drawerList.setOnChildClickListener(this);

        actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.drawer_open, R.string.drawer_close) {

            @Override
            public void onDrawerClosed(View drawerView) {
                // Code here will be triggered once the drawer closes as we don't want anything to happen so we leave this blank
                super.onDrawerClosed(drawerView);
            }

            @Override
            public void onDrawerOpened(View drawerView) {
                // Code here will be triggered once the drawer open as we don't want anything to happen so we leave this blank

                super.onDrawerOpened(drawerView);
            }
        };

        //Setting the actionbarToggle to drawer layout
        drawer.setDrawerListener(actionBarDrawerToggle);

        //calling sync state is necessay or else your hamburger icon wont show up
        actionBarDrawerToggle.syncState();
    }

    /*
     * Preparing the list data
     */
    private void prepareListData() {

        listDataHeader = new ArrayList<String>();
        listDataChild = new HashMap<String, List<String>>();

        // Adding child data
        listDataHeader.add("Dashboard");
        listDataHeader.add("Enter Manually");
        listDataHeader.add("Profile");
        listDataHeader.add("Reports");
        listDataHeader.add("Logout");


        // TODO Adding child data
        List<String> nowShowing = new ArrayList<String>();
        nowShowing.add("My Profile");
        nowShowing.add("Change Password");

        List<String> blank = new ArrayList<String>();

        List<String> report = new ArrayList<String>();
        report.add("Batch Wise Report");
        report.add("Location Wise Report");
        report.add("Date Wise Report");

        listDataChild.put(listDataHeader.get(0), blank);
        listDataChild.put(listDataHeader.get(1), blank); // Header, Child data
        listDataChild.put(listDataHeader.get(2), nowShowing);
        listDataChild.put(listDataHeader.get(3), report);
        listDataChild.put(listDataHeader.get(4), blank);
    }
}
-------------------------------
Adapter
------------------------------
package com.keshav.expandablelistviewindrawerkeshav;

import android.app.Activity;
import android.content.Context;
import android.graphics.Typeface;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.HashMap;
import java.util.List;

/**
 * Created by root on 11/12/15.
 */
public class NavigationDrawerExpandableAdapter extends BaseExpandableListAdapter {

    public LayoutInflater minflater;
    public Activity activity;
    private Context _context;
    private List<String> _listDataHeader; // header titles
    // child data in format of header title, child title
    private HashMap<String, List<String>> _listDataChild;

    public NavigationDrawerExpandableAdapter(Context context, List<String> listDataHeader,
                                             HashMap<String, List<String>> listChildData) {
        this._context = context;
        this._listDataHeader = listDataHeader;
        this._listDataChild = listChildData;
    }

    public void setInflater(LayoutInflater mInflater, Activity act) {
        this.minflater = mInflater;
        activity = act;
    }

    @Override
    public Object getChild(int groupPosition, int childPosititon) {
        return this._listDataChild.get(this._listDataHeader.get(groupPosition))
                .get(childPosititon);
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        return childPosition;
    }

    @Override
    public View getChildView(int groupPosition, final int childPosition,
                             boolean isLastChild, View convertView, ViewGroup parent) {

        final String childText = (String) getChild(groupPosition, childPosition);

        if (convertView == null) {
            LayoutInflater infalInflater = (LayoutInflater) this._context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = infalInflater.inflate(R.layout.list_item, null);
        }

        TextView txtListChild = (TextView) convertView
                .findViewById(R.id.lblListItem);
        txtListChild.setText(childText);

        //TODO set Hard Code Child item

        ImageView iv_ListChild = (ImageView) convertView
                .findViewById(R.id.iv_ListChild);
        txtListChild.setText(childText);

        Log.e("Keshav", "childText 1 -> " + childText);
        if (childText.equals("My Profile")){
            iv_ListChild.setBackgroundResource(R.mipmap.youtuben);
        }else if (childText.equals("Change Password")){
            iv_ListChild.setBackgroundResource(R.mipmap.facebook);
        }else if (childText.equals("Batch Wise Report")){
            iv_ListChild.setBackgroundResource(R.mipmap.googleplus);
        }else if (childText.equals("Location Wise Report")){
            iv_ListChild.setBackgroundResource(R.mipmap.linkedin);
        }else if (childText.equals("Date Wise Report")){
            iv_ListChild.setBackgroundResource(R.mipmap.twitter);
        }else {
            iv_ListChild.setBackgroundResource(R.mipmap.ic_launcher_round);
        }
        //TODO set Hard Code Child item



        return convertView;
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return this._listDataChild.get(this._listDataHeader.get(groupPosition))
                .size();
    }

    @Override
    public Object getGroup(int groupPosition) {
        return this._listDataHeader.get(groupPosition);
    }

    @Override
    public int getGroupCount() {
        return this._listDataHeader.size();
    }

    @Override
    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    @Override
    public void onGroupCollapsed(int groupPosition) {
        super.onGroupCollapsed(groupPosition);
    }

    @Override
    public void onGroupExpanded(int groupPosition) {
        super.onGroupExpanded(groupPosition);
    }

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded,
                             View convertView, ViewGroup parent) {
        String headerTitle = (String) getGroup(groupPosition);
        if (convertView == null) {
            LayoutInflater infalInflater = (LayoutInflater) this._context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = infalInflater.inflate(R.layout.list_group, null);
        }

        TextView lblListHeader = (TextView) convertView
                .findViewById(R.id.lblListHeader);
        lblListHeader.setTypeface(null, Typeface.NORMAL);       // TODO Set Text Color BOLD Here
        lblListHeader.setText(headerTitle);

        Log.e("keshav","groupPosition "+groupPosition);

        ImageView iv_ListHeader = (ImageView) convertView
                .findViewById(R.id.iv_ListHeader);
        if(groupPosition==0)
            iv_ListHeader.setBackgroundResource(R.mipmap.changepassword_48);
        else if(groupPosition==1)
            iv_ListHeader.setBackgroundResource(R.mipmap.barcode_48);
        else if(groupPosition==2)
            iv_ListHeader.setBackgroundResource(R.mipmap.changepassword_48);
        else if(groupPosition==3)
            iv_ListHeader.setBackgroundResource(R.mipmap.enter_manualy_48);
        else
            iv_ListHeader.setBackgroundResource(R.mipmap.ic_launcher);


        return convertView;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return true;
    }

}

------------------------------------
activity_drawer.xml
-------------------------------------
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <LinearLayout
            android:id="@+id/container_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

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

        <FrameLayout
            android:id="@+id/fllContent"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />

    </LinearLayout>

    <ExpandableListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:groupIndicator="@null"
        android:dividerHeight="1dp"
        android:divider="@color/list_divider"
        android:listSelector="@drawable/list_selector"
        android:background="@color/list_background" />

    <!--android:groupIndicator="@null"-->

</android.support.v4.widget.DrawerLayout>

------------------------------------
listgroup.xml
------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:orientation="horizontal"
    android:background="@drawable/list_selector">

    <ImageView
        android:id="@+id/iv_ListHeader"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginBottom="10dp"
        android:background="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/lblListHeader"
        style="@style/TextViewSmallBlack"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginTop="5dp"
        android:layout_marginLeft="10dp"
        android:layout_marginBottom="10dp"
        android:gravity="left"
        android:paddingBottom="5dp"
        android:paddingTop="5dp"
        android:text="list group"
        android:textSize="14sp"
        />
</LinearLayout>

------------------------------------
listitem.xml
------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:orientation="horizontal"
    android:background="@drawable/list_selector">


    <ImageView
        android:id="@+id/iv_ListChild"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="40dp"
        android:layout_marginBottom="10dp"
        android:background="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/lblListItem"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="14dip"
        style="@style/TextViewSmallBlack"
        android:layout_marginTop="5dp"
        android:layout_marginLeft="10dp"
        android:gravity="left"
        android:paddingBottom="5dp"
        android:paddingTop="5dp"
        android:text="list group"
        />

</LinearLayout>


------------------------------------
navheader.xml
------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="190dp"
    android:gravity="start"
    android:background="@color/colorPrimary"
    android:orientation="vertical"><!--android:background="@color/com_facebook_button_background_color_disabled"-->

    <de.hdodenhof.circleimageview.CircleImageView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/user_profile_image"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:layout_marginLeft="20dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_marginTop="40dp"
        app:border_color="@color/click_tick" />

    <TextView
        android:id="@+id/userName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/user_profile_image"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"
        android:gravity="left"
        android:text="Keshav Gera"
        android:textColor="@color/white"
        android:textSize="16sp"
        android:textStyle="bold" />  <!--android:textSize="14sp"-->

     <TextView
         android:id="@+id/usertype"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text=""
         android:gravity="left"
         android:layout_marginLeft="20dp"
         android:layout_marginTop="10dp"
         android:layout_marginBottom="5dp"
         android:textSize="10sp"
         android:textColor="#fff"
         android:layout_alignParentBottom="true"
         android:layout_alignLeft="@+id/userName"
         android:layout_alignStart="@+id/userName" />  <!--android:textSize="14sp"-->

</LinearLayout>


    <!--
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/nav_header_height"
    android:background="@drawable/side_nav_bar"
    android:gravity="bottom"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:theme="@style/ThemeOverlay.AppCompat.Dark">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        android:src="@android:drawable/sym_def_app_icon" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        android:text="Android Studio"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="android.studio@android.com" />

</LinearLayout>
-->

------------------------------------
toolbar.xml
------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    local:popupTheme="@style/ThemeOverlay.AppCompat.Light" />