2016-12-08 3 views
0

У меня проблема с моей панелью инструментов на существующий код. Я хочу прозрачную панель инструментов (не полупрозрачную).Android: прозрачная панель инструментов для API 23

Я уже искал какой-то ответ, но ничего не работает.

Я уже стараюсь:

  • создать фон рисуем прозрачным.
  • добавить пользовательскую тему с windowActionBarOverlay на подлинном
  • toolbar.getBackground.setAlpha (0)

activity_main.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" 
    tools:context=".ui.Activities.MainActivity" 
    android:fitsSystemWindows="true" 
    > 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/abc_action_bar_default_height_material" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     style="@style/CustomAppBarLayout" 
     > 

     <include 
      android:id="@+id/toolbar" 
      layout="@layout/tool_bar" 
      /> 

    </android.support.design.widget.AppBarLayout> 

<android.support.v4.widget.DrawerLayout 
    android:id="@+id/drawer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="com.indetouch.music.player.ui.Activities.MainActivity"> 

    <LinearLayout 
     android:fitsSystemWindows="true" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:background="@android:color/transparent"> 

     <!-- multiple frame layout [...] --> 
    </LinearLayout> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/navigation_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:menu="@menu/drawer" 
     android:background="@color/main_black"/> 

</android.support.v4.widget.DrawerLayout> 
</android.support.design.widget.CoordinatorLayout> 

tool_bar.xml

<?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" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/abc_action_bar_default_height_material" 
     style="@style/CustomToolbar" 
     > 

    <android.support.design.widget.CoordinatorLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:visibility="gone"> 

     <android.support.v7.widget.LinearLayoutCompat 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="left" 
      android:layout_marginLeft="5dp" 
      android:visibility="gone"> 

      <android.support.v7.widget.AppCompatImageView 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:background="@drawable/ic_volume_down_white_24dp" 
       android:visibility="gone"/> 

      <android.support.v7.widget.AppCompatSeekBar 
       android:id="@+id/seekbar_volume" 
       android:layout_width="150dp" 
       android:layout_height="match_parent" 
       android:visibility="gone"/> 

      <android.support.v7.widget.AppCompatImageView 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:background="@drawable/ic_volume_up_white_24dp" 
       android:visibility="gone"/> 

     </android.support.v7.widget.LinearLayoutCompat> 


     <android.support.v7.widget.LinearLayoutCompat 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:visibility="gone"> 

      <android.support.v7.widget.AppCompatImageButton 
       android:id="@+id/btn_toolbar_back" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:background="@drawable/ic_navigate_before_white_24dp" 
       android:visibility="gone"/> 

      <Space 
       android:layout_width="25dp" 
       android:layout_height="match_parent" 
       android:visibility="gone"/> 

      <android.support.v7.widget.AppCompatImageButton 
       android:id="@+id/btn_toolbar_next" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:background="@drawable/ic_navigate_next_white_24dp" 
       android:visibility="gone"/> 

     </android.support.v7.widget.LinearLayoutCompat> 
    </android.support.design.widget.CoordinatorLayout> 
</android.support.v7.widget.Toolbar> 

EDIT: Я нашел кусок раствора. Я изменяю свой файл «activity_main.xml» для добавления CoordinatorLayout, затем добавляю AppBarLayout и после того, как включил панель инструментов в свой AppBarLayout. Кроме того, я добавляю два стиля, применяемые на панели инструментов и AppBarLayout.

styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
       <item name="android:colorPrimary">@color/PrimaryColor</item> 
       <item name="android:colorPrimaryDark">@color/PrimaryDarkColor</item> 
       <item name="colorAccent">#ffffff</item> 

       <item name="windowNoTitle">true</item> 
     </style> 

     <style name="CustomAppBarLayout"> 
       <item name="android:background">@android:color/transparent</item> 
     </style> 

     <style name="CustomToolbar" parent="Widget.AppCompat.Toolbar"> 
       <item name="android:background">@android:color/transparent</item> 
       <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item> 
       <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> 
     </style> 
</resources> 

Это не сделано. Существует тень на AppbarLayout (или панель инструментов), и я должен решить эту проблему (и вы тоже может быть :))

ответ

0

I найденный ! Просто я помещаю AppBarLayout в DrawerLayout, и все работает.

main_activity.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" 
    tools:context=".ui.Activities.MainActivity" 
    android:fitsSystemWindows="true" 
    > 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/abc_action_bar_default_height_material" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     style="@style/CustomAppBarLayout" 
     > 

     <include 
      android:id="@+id/toolbar" 
      layout="@layout/tool_bar" 
      /> 

    </android.support.design.widget.AppBarLayout> 

<android.support.v4.widget.DrawerLayout 
    android:id="@+id/drawer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="com.indetouch.music.player.ui.Activities.MainActivity"> 

    <LinearLayout 
     android:fitsSystemWindows="true" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:background="@android:color/transparent"> 

     <!-- multiple frame layout [...] --> 
    </LinearLayout> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/navigation_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:menu="@menu/drawer" 
     android:background="@color/main_black"/> 

</android.support.v4.widget.DrawerLayout> 
</android.support.design.widget.CoordinatorLayout> 
0

Вы должны определить стиль первой, а затем использовать его для панели инструментов:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:colorPrimaryDark">#ffffff</item> 
    <item name="colorAccent">#ffffff</item> 
    <item name="colorPrimary">@android:color/transparent</item> 
    <item name="windowActionBarOverlay">true</item> 
    <item name="android:windowTranslucentStatus">true</item> 
    <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
    <item name="android:windowTranslucentNavigation">true</item> 
</style> 
+0

Я попробовал, и это не работает. Моя панель инструментов становится незаметной. –

Смежные вопросы