android--toolbar+drawerLayout的使用方法

先放一个效果图:

主activity:

public class MainActivity extends AppCompatActivity {

    private Toolbar toolbar;
    private ListView tv;
    private DrawerLayout drawerlayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        setSupportActionBar(toolbar);
        ActionBar supportActionBar = getSupportActionBar();
        if (supportActionBar != null) {
            supportActionBar.setDisplayHomeAsUpEnabled(true);
            supportActionBar.setHomeAsUpIndicator(android.R.drawable.arrow_up_float);
        }

        tv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                TextView textView = (TextView) view;
                String s = textView.getText().toString();
                Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.bar, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int itemId = item.getItemId();
        switch (itemId) {
            case R.id.add:
                Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();
                break;
            case R.id.delete:
                Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();
                break;
            case R.id.search:
                item.expandActionView();
                break;
            //navigationIcon的点击事件 
            case android.R.id.home:
                drawerlayout.openDrawer(GravityCompat.START);
                break;
        }
        return super.onOptionsItemSelected(item);
    }

    private void initView() {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        tv = (ListView) findViewById(R.id.tv);
        drawerlayout = (DrawerLayout) findViewById(R.id.drawerlayout);
    }
}

布局:

<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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/drawerlayout"
    tools:context=".MainActivity">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            app:title="主标题"
            app:subtitle="子标题"
            app:logo="@mipmap/a"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@mipmap/a"
            ></android.support.v7.widget.Toolbar>
    </FrameLayout>
    <ListView
        android:entries="@array/array"
        android:id="@+id/tv"
        android:background="@android:color/holo_red_dark"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        />
</android.support.v4.widget.DrawerLayout>

资源文件:strings

<resources>
    <string name="app_name">toolbar</string>
    <string-array name="array">
        <item>联系人</item>
        <item>手机号</item>
        <item>QQ号</item>
        <item>微信号</item>
        <item>联系人</item>
        <item>手机号</item>
        <item>QQ号</item>
        <item>微信号</item>
        <item>联系人</item>
        <item>手机号</item>
        <item>QQ号</item>
        <item>微信号</item>
        <item>联系人</item>
        <item>手机号</item>
        <item>QQ号</item>
        <item>微信号</item>
        <item>联系人</item>
        <item>手机号</item>
        <item>QQ号</item>
        <item>微信号</item>

    </string-array>
</resources>

menu:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/add"
        android:title="添加"
        app:showAsAction="always|withText"
        ></item>
    <item
        android:id="@+id/delete"
        android:title="删除"
        app:showAsAction="never"
        ></item>
    <item
        android:id="@+id/search"
        android:title="查找"
        app:showAsAction="collapseActionView|always"
        app:actionViewClass="android.widget.SearchView">
    </item>
</menu>

其中,menu中:

app:showAsAction=""

always:一直显示

ifroom:有空间就显示

never:从来不显示

whiwithText:和文字一起展示

collapseActionView:类似于添加控件

猜你喜欢

转载自blog.csdn.net/ykx_1448488568/article/details/81483958
今日推荐