概述
ToolBar 控件用作窗体上的控制条,用于显示一行下拉菜单和一些可激活命令的位图按钮。
通常来讲里面包括的内容就是在安卓系统中的右上角,三个点里面的显示内容
方法和作用
Toolbar方法和作用
方法 | 作用 |
setNavigationIcon(int) | 设置工具栏的回退图标 |
setLogo(int) | 设置工具栏logo图片 |
setTitle(CharSequence) | 设置工具栏标题 |
setSubtitle(CharSequence) | 设置工具栏子标题 |
实例
privateAnimationDrawableanimationDrawable;
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
bt2.setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View v) {
Intent intent =newIntent(ToolbarActivity.this, MainActivity.class);
startActivity(intent);
//动画效果,自己敲andriod,系统默认的效果
overridePendingTransition(
android.R.anim.slide_in_left,
android.R.anim.slide_out_right
);
//渐隐渐出
overridePendingTransition(
R.anim.pop_enter,
R.anim.pop_exit);
}
});
//设置帧间动画的启动
an2.setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View view) {
if(animationDrawable!=null) {
animationDrawable.stop();
}
}
});
// toolbar 放置图片的位置与方法,
toolbar.setLogo(R.mipmap.ic_launcher);//logo标签
toolbar.setNavigationIcon(R.mipmap.ic_launcher);//导航标签
toolbar.setTitle("ToolBar");
toolbar.setSubtitle("使用");
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View view) {
Snackbar.make(view,"Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action",null).show();
}
});
}
//设置点击右边三点显示的内容
// 加载编写的布局
@Override
public booleanonCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_toolbar, menu);
return true;
}
@Override
public booleanonOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
intid = item.getItemId();
//noinspection SimplifiableIfStatement
if(id == R.id.anim1) {
// Toast.makeText(getBaseContext(),"animl",Toast.LENGTH_SHORT).show();
//补间动画
Animation animation = AnimationUtils.loadAnimation(getBaseContext(), R.anim.anim1);
an1.startAnimation(animation);
}else if(id == R.id.anim2) {
//帧动画
an2.setBackgroundResource(R.drawable.drawable1);
animationDrawable= (AnimationDrawable)an2.getBackground();
animationDrawable.start();
}else if(id == R.id.anim3) {
//Toast.makeText(getBaseContext(),"anim3",Toast.LENGTH_SHORT).show();
ObjectAnimator oja=ObjectAnimator.ofFloat(an3,"rotation",0,360);
oja.setDuration(3000);
//重复次数
oja.setRepeatCount(1);
//设置 插补器,设置动画效果
oja.setInterpolator(newAccelerateDecelerateInterpolator());
oja.start();
}else if(id == R.id.anim4) {
//响应
//Toast.makeText(getBaseContext(), "anim3", Toast.LENGTH_SHORT).show();
ObjectAnimator oja=ObjectAnimator.ofFloat(an4,"alpha",0,1);//透明alpha
oja.setDuration(3000);
oja.setRepeatCount(1);
//翻转
oja.setRepeatMode(ObjectAnimator.RESTART);
//设置 插补器,设置动画效果
oja.setInterpolator(newLinearInterpolator());
oja.start();
}
return super.onOptionsItemSelected(item);
}
//显示图片三个点肿的图片
@Override
protected booleanonPrepareOptionsPanel(View view, Menu menu) {
if(menu !=null) {
if(menu.getClass() == MenuBuilder.class) {
try{
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu,true);
}catch(Exception e) {
System.out.print(getClass().getSimpleName() + "onMenuOpened...unable to set icons for overflow menu"+ e);
}
}
}
return super.onPrepareOptionsPanel(view, menu);
}
};
总结
在menu里面编写三个点内的内容
public booleanonCreateOptionsMenu(Menu menu),加载三个点的布局
public booleanonOptionsItemSelected(MenuItem item)设置布局里面对于的效果
protected booleanonPrepareOptionsPanel(View view, Menu menu),显示布局里面图片
ToolBar里面的状态栏显示设置
toolbar.setLogo(R.mipmap.ic_launcher);//logo标签
toolbar.setNavigationIcon(R.mipmap.ic_launcher);//导航标签
toolbar.setTitle("ToolBar");
toolbar.setSubtitle("使用");
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View view) {
Snackbar.make(view,"Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action",null).show();
}
});
}