日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 封装标题栏

發布時間:2023/12/20 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 封装标题栏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面:

? ? ? ? ? ? 標題欄這個部分,絕大多數App都有,起到一個概括本頁面功能的作用,有些標題欄還具有返回上一頁等額外功能。

? ? ? ? ? ? 在這里不得不表揚一下蘋果的標題欄位設計,簡潔美觀實用,很有借鑒性

? ? ? ? ? ??

? ? ? ? ? ? 一、項目結構

? ? ? ? ? ??

? ? ? ? ? ?主要由一個布局文件activity_title.xml和一個構造類TitleBuilder.java組成,布局文件定義標題欄樣式,構造類負責設定文字內容,是否顯示返回按鈕等等。? ??

? ?

? ?二、代碼設計?? ?

? ? ? ? ? ?activity_title.xml 由一個絕對布局包裹兩個圖片控件和一個文本框控件組成

? ? ? ? ? ?此處使用線性布局嵌套絕對布局,使內容可以更好地居中顯示

<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:background="#1B77A8"android:gravity="center_vertical"android:layout_width="match_parent"android:layout_height="50dp"><RelativeLayoutandroid:id="@+id/title_bar"android:paddingLeft="5dp"android:paddingRight="5dp"android:layout_width="match_parent"android:layout_height="wrap_content"><ImageViewandroid:layout_centerVertical="true"android:visibility="gone"android:id="@+id/title_leftIco"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/title_text"android:textSize="20sp"android:textColor="#ffffff"android:layout_centerInParent="true"android:layout_width="wrap_content"android:layout_height="wrap_content" /><ImageViewandroid:visibility="gone"android:id="@+id/title_rightIco"android:layout_alignParentRight="true"android:layout_width="wrap_content"android:layout_height="wrap_content" /></RelativeLayout> </LinearLayout> TitleBuilder.java?

/*** Created by PanZhe on 2016/7/22.*/ public class TitleBuilder {private View titleView;private RelativeLayout titleBar;private TextView text;private ImageView leftIco;private ImageView rightIco;/*** 構造方法:用于獲取對象* */public TitleBuilder(Activity context){titleView = context.findViewById(R.id.title_bar);text = (TextView)titleView.findViewById(R.id.title_text);titleBar = (RelativeLayout)titleView.findViewById(R.id.title_bar);leftIco = (ImageView)titleView.findViewById(R.id.title_leftIco);rightIco = (ImageView)titleView.findViewById(R.id.title_rightIco);}/*** 用于設置標題欄文字* */public TitleBuilder setTitleText(String titleText){if(!TextUtils.isEmpty(titleText)){text.setText(titleText);}return this;}/*** 用于設置標題欄左邊要顯示的圖片* */public TitleBuilder setLeftIco(int resId){leftIco.setVisibility(resId > 0 ? View.VISIBLE : View.GONE);leftIco.setImageResource(resId);return this;}/*** 用于設置標題欄右邊要顯示的圖片* */public TitleBuilder setRightIco(int resId){rightIco.setVisibility(resId > 0 ? View.VISIBLE : View.GONE);rightIco.setImageResource(resId);return this;}/*** 用于設置標題欄左邊圖片的單擊事件* */public TitleBuilder setLeftIcoListening(View.OnClickListener listener){if(leftIco.getVisibility() == View.VISIBLE){leftIco.setOnClickListener(listener);}return this;}/*** 用于設置標題欄右邊圖片的單擊事件* */public TitleBuilder setRightIcoListening(View.OnClickListener listener){if(rightIco.getVisibility() == View.VISIBLE){rightIco.setOnClickListener(listener);}return this;} } ? ? 三、使用方法

? ?在需要的地方引入

<include layout="@layout/activity_title"/>? ? ?在java代碼中使用new方法循環設置參數

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new TitleBuilder(this).setTitleText("測試標題").setLeftIco(R.drawable.left).setLeftIcoListening(leftReturnListener);}private View.OnClickListener leftReturnListener = new View.OnClickListener() {@Overridepublic void onClick(View view) {finish();}}; } ? ?

? ?四、效果圖


中規中矩,對不對?
大家可以通過修改TitleBuild構造類中的方法來實現自己滿意的效果,在這里就不一一列舉了


??

總結

以上是生活随笔為你收集整理的Android 封装标题栏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。