Android 自定義狀態(tài)欄實(shí)例代碼
一、目標(biāo):Android5.0以上
二、步驟
1、在res-values-colors.xml下新建一個(gè)RGB顏色
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="theRed">#ff6a69</color>
</resources>
2、新建一個(gè)布局,名為actionbarlayout.xml,在后邊重寫布局時(shí)用于添加
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/actionBarId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
3、重寫LineaLayout布局,放置步驟二新建的布局在頂部,用作背景顏色的容器
public class ActionBarLayOut extends LinearLayout {
public ActionBarLayOut(Context context, AttributeSet attrs){
super(context,attrs);
LayoutInflater.from(context).inflate(R.layout.actionbarlayout,this);
}
}
3、在主布局里調(diào)用這個(gè)重寫后的線性布局
<?xml version="1.0" encoding="utf-8"?>
<com.example.test.ActionBarLayOut xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.test.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/theRed"
android:text="Hello World!" />
</com.example.test.ActionBarLayOut>
4、在main活動(dòng)中進(jìn)行相應(yīng)設(shè)置
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView)findViewById(R.id.actionBarId);
int color = getResources().getColor(R.color.theRed);
setActionBarColor(textView,color);
}
protected void setActionBarColor(TextView textView, int ActionBarColor){
//----------------------------------隱藏標(biāo)題欄----------------------------------------------
if (getSupportActionBar()!=null) {
getSupportActionBar().hide();
}
//------------------------------------------------------------------------------------------
//----------------------------------將狀態(tài)欄設(shè)置為透明--------------------------------------
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
window.setNavigationBarColor(Color.TRANSPARENT);
}
//------------------------------------------------------------------------------------------
/**
* 首先獲取狀態(tài)欄的高度statusBarHeight1,然后在狀態(tài)欄的位置放一個(gè)空的TextView,
* 高度設(shè)置為statusBarHeight1,然后將TextView的背景顏色進(jìn)行設(shè)置,這樣就可以變相
* 的給狀態(tài)欄設(shè)置顏色
*/
int statusBarHeight1 = -1;
//獲取status_bar_height資源的ID
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
//根據(jù)資源ID獲取響應(yīng)的尺寸值
statusBarHeight1 = getResources().getDimensionPixelSize(resourceId);
}
textView.setHeight(statusBarHeight1);
textView.setBackgroundColor(ActionBarColor);
}
}
以上所述是小編給大家介紹的Android 自定義狀態(tài)欄實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Android動(dòng)態(tài)控制狀態(tài)欄顯示和隱藏
- Android設(shè)置透明狀態(tài)欄和透明導(dǎo)航欄
- Android 狀態(tài)欄虛擬導(dǎo)航鍵透明效果的實(shí)現(xiàn)方法
- Android透明化和沉浸式狀態(tài)欄實(shí)踐及源碼分析
- Android實(shí)現(xiàn)個(gè)人資料頁面頭像背景模糊顯示包(狀態(tài)欄)
- Android沉浸式狀態(tài)欄實(shí)現(xiàn)示例
- Android中隱藏狀態(tài)欄和標(biāo)題欄的方法匯總(隱藏狀態(tài)欄、標(biāo)題欄的五種方法)
- Android之沉浸式狀態(tài)欄的實(shí)現(xiàn)方法、狀態(tài)欄透明
- Android 動(dòng)態(tài)顯示和隱藏狀態(tài)欄詳解及實(shí)例
相關(guān)文章
Android添加用戶組及自定義App權(quán)限的方法
今天小編就為大家分享一篇Android添加用戶組及自定義App權(quán)限的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Android?Jetpack?Compose開發(fā)實(shí)用小技巧
這篇文章主要為大家介紹了Android?Jetpack?Compose開發(fā)中的一些實(shí)用小技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Android自定義View的實(shí)現(xiàn)方法實(shí)例詳解
本文通過實(shí)例代碼給大家詳細(xì)介紹了Android自定義View的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-09-09
Android退出應(yīng)用最優(yōu)雅的方式(改進(jìn)版)
這篇文章主要介紹了Android退出應(yīng)用最優(yōu)雅的方式,改進(jìn)版,感興趣的小伙伴們可以參考一下2016-01-01
android實(shí)現(xiàn)手機(jī)App實(shí)現(xiàn)拍照功能示例
本篇文章主要介紹了android實(shí)現(xiàn)手機(jī)App實(shí)現(xiàn)拍照功能示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02

