create_account.xml
<?xml version="1.0" encoding="utf-8"?>
<Android.support.design.widget.CoordinatorLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true"
tools:context="io.sleeko.board.CreateAccountActivity">
<Android.support.design.widget.AppBarLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.AppBarOverlay">
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</Android.support.design.widget.AppBarLayout>
<include layout="@layout/content_create_account" />
<Android.support.design.widget.FloatingActionButton
Android:id="@+id/fab"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom|end"
Android:layout_margin="@dimen/fab_margin"
Android:src="@Android:drawable/ic_dialog_email" />
</Android.support.design.widget.CoordinatorLayout>
上記のToolBar
を透明にする必要があります。背景のImage.Iを見ることができるように、さまざまな方法を試しました。しかし、正しい解決策が見つかりませんでした。
助けてください
ほとんどの場合、ツールバーの背後にあるコンテンツを表示するために、ツールバーを半透明にする必要があります。問題は、ツールバーの背後にあるコンテンツの色が、ツールバーの要素/テキストの色(たとえば、上/戻る矢印)と衝突する可能性があることです。
そのため、多くの実装で、ツールバーは実際には透明ではなく、グラデーションで半透明であることがわかります。
次のコードでこれを取得できます。
<?xml version="1.0" encoding="utf-8"?>
<Android.support.v7.widget.Toolbar
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="@drawable/background_toolbar_translucent" />
background_toolbar_translucent.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<gradient
Android:angle="270"
Android:endColor="@Android:color/transparent"
Android:startColor="@color/black_alpha_40"/>
</shape>
colors.xml
<color name="black_alpha_40">#66000000</color>
グラデーションのさまざまな値で遊ぶことができます。私が見つけたのは、白の要素では黒の40%がうまく機能するということです。
もう1つの方法は、ツールバーのタイトルを非表示にすることです。
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
そして、アフォーダンスをアップします...
getSupportActionBar().setDisplayShowTitleEnabled(false);
レイアウトプレビューパネルにこのようなものが表示されていても心配しないでください...
実際にコンテンツが重複している場合は、外観が大きく異なります。
これが私の解決策です。
<Android.support.design.widget.AppBarLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.AppBarOverlay"
Android:background="#00000000">
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay" />
それを試してください:
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="@Android:color/transparent"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
終了タグでそれを削除します:
<Android.support.design.widget.AppBarLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.AppBarOverlay">
しかし、完全に透明にしないでください。#93000000
したがって、次のようになります。
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="#93000000"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />