2016-12-14 2 views
0

screenshot of the application툴바 메뉴 아이콘이 수직으로 가운데에 맞춰지지 않습니다.

개발자 옵션에서 "레이아웃 경계 표시"옵션을 켰습니다. 내가 게시 한 이미지에서 '검색'아이콘이 수직으로 가운데에 있지 않다는 것이 분명합니다.

<?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.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    style="@style/AppBar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:gravity="center_vertical" 
    android:background="@color/colorPrimary" 
    android:minHeight="?attr/actionBarSize" 
    android:theme="@style/AppBar"/> 

<include layout="@layout/content_main"/ 
</android.support.design.widget.CoordinatorLayout> 

AppBar 스타일 : : 코드 도구 모음 및 그 스타일

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    if (mMenu == null) { 
     mMenu = menu; 
     inflateSMenu(); 
    } 
    return true; 
} 

public void inflateSMenu() { 
    mMenu.clear(); 
    setToolbarTitle(getString(R.string.title)); 
    getMenuInflater().inflate(R.menu.menu_cat, mMenu); 
} 

menu_cat.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_add_category" 
     android:icon="@drawable/ic_search_white_24dp" 
     android:title="@string/search" 
     app:showAsAction="always"/> 
</menu> 
에게 : 메뉴가 mainActivity에서 팽창

<style name="AppBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> 
    <item name="android:windowActionBarOverlay">true</item> 
    <item name="android:windowActionModeOverlay">true</item> 
    <item name="colorAccent">@color/white</item> 
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 

내 질문은 : 어떻게하면 메뉴 아이콘을 세로 가운데에 배치 할 수 있습니까?

+0

'SearchView'를'Toolbar' 레이아웃에 추가 할 수 있습니다. 이렇게하면 메뉴를 사용할 필요가 없습니다. –

+0

@DevendraSingh 예, 할 수 있습니다. 그러나 다른 페이지에도 메뉴에 아이콘이 있습니다. – Beks

+0

툴바 레이아웃에 RelativeLayout을 추가하고 RelativeLayout에 뷰를 추가하고 요구 사항에 따라 뷰의 중력을 설정합니다. 다음은 스크린 샷입니다. http : http : //prntscr.com/djckf8 – Bhavnik

답변

0

그래서 당신은 같은 현재 응용 프로그램 테마에

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
<item name="android:actionButtonStyle">@style/myActionButtonStyle</item> 
<item name="actionButtonStyle">@style/myActionButtonStyle</item> 
</style> 

을 스타일을 적용하고

<style name="myActionButtonStyle" parent="Widget.AppCompat.ActionButton"> 
    <item name="android:minWidth">30dp</item> 
    <item name="android:maxWidth">48dp</item> 
    <item name="android:width">38dp</item> 

</style> 

테스트하지 같은 ActionButton 스타일을 만들 수 있지만 작동 희망 할 수 있습니다.

관련 문제