2014-11-24 3 views
4

그래서, 저는 제가 supportActionBar로 설정하고있는 툴바를 가지고 있는데, 오버레이 모드로하고 싶습니다. 이 시점에서 모든 것을 시도한 것처럼 느껴지지만 아무 것도 작동하지 않는 것 같습니다.AppCompat ActionBar/Toolbar가 오버레이가 될 수 없습니다.

<style name="Theme.ArgleBargle" parent="@style/Theme.AppCompat.Light"> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorAccent">@color/accent</item> 
    <item name="vpiIconPageIndicatorStyle">@style/Widget.IconPageIndicator</item> 
    <item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item> 
    <item name="windowActionBar">false</item> 
    <item name="windowActionBarOverlay">true</item> 
    <item name="android:windowActionBarOverlay">true</item> 
    <item name="android:windowBackground">@color/background</item> 
</style> 

<style name="CustomActionBar" parent="@style/ThemeOverlay.AppCompat.Light"> 
    <item name="android:windowActionBarOverlay">true</item> 
    <!-- Support library compatibility --> 
    <item name="windowActionBarOverlay">true</item> 
</style> 

그리고 여기 내 도구 모음에 대한 코드입니다 : 여기

는 스타일이 내가 현재 가지고있어

<android.support.v7.widget.Toolbar 
     android:id="@+id/actionbar" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:minHeight="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:theme="@style/CustomActionBar"/> 

그리고 마지막으로, 여기에 내가 활동에 설정하고있어 어디 :

actionbar = (Toolbar) findViewById(R.id.actionbar);; 
setSupportActionBar(actionbar); 

행운이없는 getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY)도 호출 해 보았습니다.

답변

5

그래서,이 문제는 동시에 완전히 간단하고 분명하지 않습니다 (적어도 저에게). 근본적으로 문제는 툴바가 액션 바 (Actionbar)로 설정되어 있지만 레이아웃 요소가 XML로 선언 된 날이 아직 끝났습니다. 그래서, 트릭은 물론 그것이 XML에서 중복되는지 확인하는 것입니다. 내 레이아웃의 샘플은 다음과 같습니다.

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/actionbar" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:minHeight="?attr/actionBarSize" 
     android:background="?attr/colorPrimary"/> 

    <FrameLayout 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</RelativeLayout> 

모두 예상대로 작동합니다. 그들이 같은 문제가 있다면이 도움이 다른 사람을 도울 수 있기를 바랍니다!

+5

android SDK가 자동으로 제공해야합니다. 또한 안드로이드 롤리팝의 표준 디자인으로 표시된 확장/축소 도구 모음을 사용하는 표준 방법이 없습니다. 악몽은 안드로이드 개발자가되고. – rDroid

+0

올바른 'RelativeLayout' 코드는'FrameLayout' 이후에'android.support.v7.widget.Toolbar'이어야합니다? 이렇게하면'Toolbar'가'FrameLayout'을 넘어옵니다. – shkschneider

+0

프레임이 그것을 숨길 수 있기 때문에 위의 코드가 툴바를 표면에 나타낼 수 없다고 생각합니다. 프레임 레이아웃과 툴바의 순서를 바꿀 수 있습니다. –

관련 문제