在做專案的時候,經常會用到左邊是返回鍵、右邊是更多、中間是文字描述的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應用的過程中肯定碰到過很多重複的工作,寫著重複的 有時候連布局檔案也是一樣,需要重複的勞動,那麼這樣對於我們程式來講肯定是很累很繁瑣的一件事,所以我們在寫 的時候是否需要去考慮讓我們寫更少的 程式設計師要學會偷懶,否則 在開發應用程式的時候我們的設計其實整體的樣式是統一,...