MaterialStatusBarCompat
Easy to make status bar translucent/tint on both Kitkat and Lollipop ???? Kitkat ? Lollipop ?????????/??
??????? Kotlin ?????? Hello, Kotlin! ???? ??? Kotlin ? Android ???????????????? Java ???
Tips: It may not be compatibled with Android Support Design Library. ??????? Android Support Design Library ?????????????????????????
Screenshots ??
Usage ??
Step 0 ???
First, use Theme.AppCompat.*.TranslucentStatusBar
instead of Theme.AppCompat.*
????? Theme.AppCompat.*.TranslucentStatusBar
???? Theme.AppCompat.*
Step 1 ???
Then, modify your Java/Kotlin code by these ways. ????????????? Java/Kotlin ?? Activity ??
Way 0 ???:
Call StatusBarCompat.setUpActivity(this)
before setContentView()
in your activites ??? Activity ??? setContentView()
???? StatusBarCompat.setUpActivity(this)
Java code:
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StatusBarCompat.setUpActivity(this);
setContentView(R.layout.activity_xxxxx);
}
Kotlin code:
override public fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
StatusBarCompat().setUpActivity(this)
setContentView(R.layout.activity_xxxxx)
}
Way 1 ???:
Use TranslucentSBActivity
instead of AppCompatActivity
?? TranslucentSBActivity
?? AppCompatActivity
Step 2 ???
Way 0 ????
Add StatusBarHeaderView
above Toolbar
in layout ?????? StatusBarHeaderView
? Toolbar
??
<LinearLayout
...
android:orientation="vertical"/>
<moe.feng.material.statusbar.StatusBarHeaderView
android:layout_height="0dp"
android:layout_width="match_parent"
app:colorNormal="@color/colorForKitkat"
app:colorDark="@color/colorForLollipop"/>
<android.support.v7.widget.Toolbar
.../> </LinearLayout>
Way 1 ???:
Put Toolbar
and other views which should be a part of appbar (Such as TabLayout
) in AppBarLayout
? Toolbar
??????? App ?????? View (?? Tab ?) ?? AppBarLayout
?
PS: AppBarLayout is based on a vertical LinearLayout?AppBarLayout ??????? LinearLayout?
<moe.feng.material.statusbar.AppBarLayout
...
app:colorNormal="@color/colorForKitkat"
app:colorDark="@color/colorForLollipop"/>
<android.support.v7.widget.Toolbar
.../> </LinearLayout>
Step 3 ???
Finish! You also can change their color in Java/Kotlin code. ???????????? Java/Kotlin ?????????????
Contact me ???
Google Plus: +Fung Jichun ????: @??? ?? Android ?????: 34725246
????
Alipay ???: [email protected]
License ????
Copyright 2015 FengMoe Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.