Adnroid Toolbar 自定义Toolbar布局
2016-01-27 21:51
651 查看
默认调用系统的toolbar,分以下几个步骤:
在布局文件中添加toolbar
描述toolbar中menu的布局
在代码中调用
主布局文件:
menu布局:(android:orderInCategory表示的是展示的优先级)
在代码中调用:
以上代码运行结果如下所示:
自定义toolbar布局:
在布局文件中加入自己要定义的布局
在代码中设置
在布局文件中加入自定义的布局:
在代码中调用:
以上代码运行如下所示:
在布局文件中添加toolbar
描述toolbar中menu的布局
在代码中调用
主布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white"> <android.support.v7.widget.Toolbar android:layout_height="?attr/actionBarSize" android:layout_width="match_parent" android:id="@+id/id_tool_bar" android:background="?attr/colorPrimary" > </android.support.v7.widget.Toolbar> </RelativeLayout>
menu布局:(android:orderInCategory表示的是展示的优先级)
<?xml version="1.0" encoding="utf-8"?> <menu 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" tools:context=".MainActivity"> <item android:id="@+id/action_edit" android:orderInCategory="80" android:title="edit" android:icon="@drawable/ab_edit" app:showAsAction="ifRoom" /> <item android:id="@+id/action_share" android:orderInCategory="90" android:title="share" android:icon="@drawable/ab_share" app:showAsAction="ifRoom" /> <item android:id="@+id/action_settings" android:orderInCategory="100" android:title="hh" app:showAsAction="never" /> </menu>
在代码中调用:
package com.example.guo.test_toolbar; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar)findViewById(R.id.id_toolbar); // App Logo //toolbar.setLogo(R.mipmap.ic_launcher); //toolbar.setTitle("HHH"); // Sub Title // toolbar.setSubtitle("hhh"); setSupportActionBar(toolbar); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.action_share){ finish(); return true ; } return super.onOptionsItemSelected(item); }
以上代码运行结果如下所示:
自定义toolbar布局:
在布局文件中加入自己要定义的布局
在代码中设置
在布局文件中加入自定义的布局:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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" tools:context=".MainActivity"> <android.support.v7.widget.Toolbar android:id="@+id/id_toolbar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:fitsSystemWindows="true" app:navigationIcon="@mipmap/ic_launcher" app:title=" "> <TextView android:id="@+id/toolbar_num" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:layout_marginLeft="16dp" android:text="num" android:textColor="#BFBFBF" android:textSize="16dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/ab_edit"/> <TextView android:id="@+id/toolbar__" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginLeft="16dp" android:text="num" android:textColor="#BFBFBF" android:textSize="16dp" /> </android.support.v7.widget.Toolbar> </RelativeLayout>
在代码中调用:
package com.example.guo.test_toolbar; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar)findViewById(R.id.id_toolbar); setSupportActionBar(toolbar); ImageView mImage=(ImageView)findViewById(R.id.mimage); mImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"hello",Toast.LENGTH_LONG).show(); } }); } }
以上代码运行如下所示:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories