封装actionbar
来源:互联网 发布:数据库电子书下载 编辑:程序博客网 时间:2024/06/08 16:00
在新建一个工程的时候,常常需要统一样式的actionbar,如果每个activity都要去重新的化显得非常麻烦,下面提供了便捷的封装方法,只要让activity继承baseactivity,在重写 initialActionBar(int leftId,String title,int rightId)方法,就可以直接操作actionbar上的控件,如imageview_left直接设置监听,不需要初始化,(在父类中已经实现,省去了麻烦);
<?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="60dp" android:background="#303E3E" android:orientation="horizontal" > <ImageView android:id="@+id/imageView_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/textView_title" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text="TextView" android:textColor="#DEE1E1" android:textSize="20sp" /> <ImageView android:id="@+id/imageView_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" android:layout_gravity="center_vertical" /></LinearLayout>
import android.os.Bundle;import android.app.Activity;import android.text.TextUtils;import android.view.Menu;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;public class BaseActivity extends Activity { protected ImageView imageview_left; protected ImageView imageview_right; protected TextView textview_title=null; protected LinearLayout actionbar=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } public void initialActionBar(int leftId,String title,int rightId){ if(actionbar==null){//子类中必须实现actionbar,否则不能初始化以下 return; } imageview_left=(ImageView) findViewById(R.id.imageView_left); imageview_right=(ImageView) findViewById(R.id.imageView_right); textview_title=(TextView) findViewById(R.id.textView_title); if(leftId==-1){ imageview_left.setVisibility(View.INVISIBLE); }else{ imageview_left.setVisibility(View.VISIBLE); imageview_left.setImageResource(leftId); } if(TextUtils.isEmpty(title)){ textview_title.setVisibility(View.INVISIBLE); }else{ textview_title.setVisibility(View.VISIBLE); textview_title.setText(title); } if(rightId==-1){ imageview_right.setVisibility(View.INVISIBLE); }else{ imageview_right.setVisibility(View.VISIBLE); imageview_right.setImageResource(rightId); } }}
例子:
public class MainActivity extends BaseActivity implements LoadMusicsListener{ HttpMusicManager manager=null; ProgressDialog dialog=null;//定义一个进度条对话框 ListView listView_musics; MusicAdapter adapter=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initialUI(); } private void initialUI() { dialog=ProgressDialog.show(this, "数据加载", "音乐数据加载中,请耐心等待......"); listView_musics=(ListView) findViewById(R.id.listview_musics); //初始化标题控件 actionbar=(LinearLayout) findViewById(R.id.actionbar_main); initialActionBar(-1, "音乐列表", -1); //实例化一个数据适配器 adapter=new MusicAdapter(this); //设置适配器 listView_musics.setAdapter(adapter); }}
xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <include android:id="@+id/actionbar_main" android:layout_width="match_parent" android:layout_height="wrap_content" layout="@layout/include_actionbar" /> <ListView android:id="@+id/listview_musics" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/actionbar_main" android:background="@color/silver" android:cacheColorHint="#00000000" android:dividerHeight="2dp" android:listSelector="#00000000" > </ListView></RelativeLayout>
0 0
- 封装actionbar
- ActionBar
- ActionBar
- ActionBar
- Actionbar
- ActionBar
- actionbar
- actionBar
- actionbar
- ActionBar
- ActionBar
- ActionBar
- ActionBar
- ActionBar
- ActionBar
- actionbar
- ActionBar()
- actionbar
- Linux下的Nginx安装(开机自启动)
- JS中关于clientWidth offsetWidth scrollWidth 等的含义
- JQ使用陷阱,获取的元素要转成对象才可以使用JQ的方法
- c++ 带命令行参数的main函数
- 方法
- 封装actionbar
- Hibernate SQL优化技巧dynamic-insert="true" dynamic-update="true"
- Mvp小例子
- 最简单修改printk打印等级
- 将数据保存到文件中
- 工业物联网浪潮下蓬勃发展的产业
- 会声会影安装问题(安装完成无法打开显示停止运行)
- ZooKeeper系列之四:ZooKeeper的配置
- 递归方法:例题