[英]set action bar as transparent android
我發現有幾個人問過這個問題,但似乎沒有一個真正的答案..
嘗試將android中的動作和狀態欄設置為透明,但最終在動作欄和下面的漸變背景之間出現了這個奇怪的邊框,盡管它們顯然是相同的顏色:
這就是我到目前為止所擁有的:
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
// set action bar colour
val actionBar = supportActionBar
// also tried this:
// actionBar?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
actionBar?.setBackgroundDrawable(ColorDrawable(Color.parseColor("#00FFFFFF")))
actionBar?.title = ""
// set status and nav bar to dark/ light
backGroundColour()
navBarColour()
}
private fun backGroundColour() {
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
window.statusBarColor = ContextCompat.getColor(this, android.R.color.transparent)
window.setBackgroundDrawableResource(R.drawable.gradient_background)
}
試:
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION)
只是將下一個視圖向上移動,這意味着“下一個警報”位於操作欄齒輪等的左側,這是我不想要的。
main_menu.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_settings_foreground"
android:title="Settings"
app:showAsAction="ifRoom" />
</menu>
主題:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.AlarmClockProject" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/white</item>
<item name="colorPrimaryVariant">@color/teal_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/white</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/white</item>
<!-- Status bar color. -->
<item name="android:windowLightStatusBar" >true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
將海拔(工具欄:海拔=“0dp”)設置為您的布局文件。請參考下面的代碼片段:
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBar"
android:layout_width="0dp"
toolbar:elevation="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp" />
</com.google.android.material.appbar.AppBarLayout>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.