乙個公用的topbar

2021-08-15 17:44:55 字數 2742 閱讀 5056

在做專案的時候,經常會用到左邊是返回鍵、右邊是更多、中間是文字描述的topbar,那麼就有必要寫乙個公用的了。

back鍵的文字大小、文字顏色和背景;

more鍵的文字大小、文字顏色和背景;

中間文字描述的文字、顏色和大小。

在values檔案裡建立attrs.xml,分別定義:

name="topbar">

name="title"

format="string"/>

name="titletextsize"

format="dimension"/>

name="titletextcolor"

format="color"/>

name="lefttextcolor"

format="color"/>

name="leftbackground"

format="reference|color"/>

name="lefttext"

format="string"/>

name="righttextcolor"

format="color"/>

name="rightbackground"

format="reference|color"/>

name="righttext"

format="string"/>

declare-styleable>

這裡用的是relativelayout,當然也可以使用linearlayout。

public

class

topbar

extends

relativelayout

@requiresapi(api = build.version_codes.jelly_bean)

public

topbar(context context, attributeset attrs)

@requiresapi(api = build.version_codes.jelly_bean)

public

topbar(context context, attributeset attrs, int defstyleattr)

private

void

initlistener()

}});

mleftbutton.setonclicklistener(new onclicklistener()

}});

}public

void

settopbarclicklistener(topbarclicklistener topbarclicklistener)

@requiresapi(api = build.version_codes.jelly_bean)

private

void

initview(context context)

private

void

initdata(context context, attributeset attrs)

/*** 控制back鍵和more鍵的顯示和隱藏

*@param id

*@param flag

*/public

void

setbuttonvisable(int id, boolean flag)else

}else else }}

public

inte***ce

topbarclicklistener

}

.why

.topbar

.topbar xmlns:topbar=""

xmlns:android=""

android:id="@+id/topbar"

android:layout_width="match_parent"

android:layout_height="40dp"

topbar:leftbackground="@drawable/blue_button"

topbar:lefttext="back"

topbar:lefttextcolor="#ffffff"

topbar:rightbackground="@drawable/blue_button"

topbar:righttext="more"

topbar:righttextcolor="#ffffff"

topbar:title="自定義標題"

topbar:titletextcolor="#123412"

topbar:titletextsize="5sp"

>

com.why

.topbar

.topbar>

到這裡,乙個topbar就完成了,當乙個頁面布局需要使用topbar的時候,就可以使用通過標籤使用.

有時候,我們需要更複雜的布局也可以通過這種方式實現。

圖上的實際上是兩個textview,左邊的textview設定drawableleft,右邊的textview設定drawabletop就可以了。

dev,test環境公用乙個Eureka的總結

dev環境存在呼叫方a,提供方b test環境存在呼叫方c,提供方d a,c同乙個工程,b,d同乙個工程 期望 a b,c d,dev環境和test環境下的服務呼叫不會亂串,必須在eureka上報中指定自己的所屬分割槽 eureka instance metadata map zone testde...

多個網域名稱公用乙個IP

由於公司內網有多台伺服器的http服務要對映到公司外網靜態ip,如果用路由的埠對映來做,就只能一台內網伺服器的80埠對映到外網80埠,其他伺服器的80埠只能對映到外網的非80埠。非80埠的對映在訪問的時候要網域名稱加上埠,比較麻煩。並且公司入口路由最多只能做20個埠對映。肯定以後不夠用。然後k兄就提...

BaseActivity 各個頁面公用乙個標題欄

相信大家在開發android應用的過程中肯定碰到過很多重複的工作,寫著重複的 有時候連布局檔案也是一樣,需要重複的勞動,那麼這樣對於我們程式來講肯定是很累很繁瑣的一件事,所以我們在寫 的時候是否需要去考慮讓我們寫更少的 程式設計師要學會偷懶,否則 在開發應用程式的時候我們的設計其實整體的樣式是統一,...