在老师的号召下,我们做着痛苦的代码抽取,封装,只要一样的,都要抽取,封装。
忍者世界,有着一个传奇忍术,就算是自来也不知道的忍术,他明明站在你面前,你却看不到他,就在你掉以轻心的时候,他在你背后给你致命一击。 他就是隐身术。
思路: 对于一个标题栏,一个APP要多次用到 ,我们要单独抽取出来,作为一个XML 如果一个界面需要到了 就用include 包括进来
<include android:id="@+id/title_bar" layout="@layout/layout_title_bar" />
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/title_bar" android:layout_width="match_parent" android:layout_height="55dp" android:background="@drawable/title_red_bg2" android:gravity="center_vertical" android:orientation="horizontal" > <Button android:id="@+id/btn_left" style="@style/style_title_btn" android:layout_width="wrap_content" android:background="@android:color/transparent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:padding="5dp" android:text="" /> <ImageButton android:id="@+id/imgbtn_left" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:background="@android:color/transparent" android:scaleType="centerInside" /> <RelativeLayout android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" > <TextView android:id="@+id/txt_title" style="@style/style_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:drawablePadding="5dp" android:gravity="center" android:singleLine="true" android:text="新闻" /> </RelativeLayout> <ImageButton android:id="@+id/imgbtn_text" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:visibility="gone" android:src="@drawable/icon_textsize" android:background="@android:color/transparent" android:scaleType="centerInside" /> <ImageButton android:id="@+id/imgbtn_right" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:background="@android:color/transparent" android:scaleType="centerInside" /> <ImageButton android:id="@+id/btn_right" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:background="@android:color/transparent" android:scaleType="centerInside" /> </LinearLayout>
关于布局嘛 Button ImageView 都设置成 #00000000 透明色
<span style="font-size:18px;"> android:background="@android:color/transparent" 其实 这个标题栏做的不错啦 ,如果你开发的时候没有适合的,可以手残下来。 </span>
然后再 Oncreate 方法里面 初始化
protected void initTitleBar(View view) { leftBtn = (Button) view.findViewById(R.id.btn_left); rightBtn = (ImageButton) view.findViewById(R.id.btn_right); leftImgBtn = (ImageButton) view.findViewById(R.id.imgbtn_left); rightImgBtn = (ImageButton) view.findViewById(R.id.imgbtn_right); leftImgBtn.setImageResource(R.drawable.img_menu); titleTv = (TextView) view.findViewById(R.id.txt_title); leftBtn.setVisibility(View.GONE); rightBtn.setVisibility(View.GONE); if(leftImgBtn!=null) leftImgBtn.setOnClickListener(this); }
原文:http://blog.csdn.net/jack_king007/article/details/40986007