2016-12-16 7 views
1

나는 앱 툴바를 만드는 방법에 대해 official documentation을 따라 왔습니다. 자습서의 지침에 따라 후, Android 앱의 툴바 제목이 세로로 중앙에 있지 않음

"이 앱은 이제 기본 작업 표시 줄이 있습니다. 기본적으로 작업 표시 줄 는 응용 프로그램 및 오버 플로우 메뉴의 이름 만이 포함되어 있습니다."라고 말한다

음, 광산하지, 그것은 다음과 같습니다 않습니다이 이미지에서 볼 수 있듯이 enter image description here

, 나는 내가 그들을 원하는 색상을 얻을 수있는 몇 가지 스타일을 했어, 내가 ' 메뉴 항목을 추가하여 올바르게 표시되는지 확인합니다. 나중에 아이콘의 색상을 수정하는 방법을 알아 보겠습니다.

내 문제는 앱 제목이 세로로 가운데에 있지 않다는 것입니다. 그것은 상단에 너무 가깝습니다. 왜냐하면 내가 말할 수있는 한 자동으로 중심에 있어야하고 왜 내 것이 아닌지를 알지 못하기 때문입니다. 그러나 그럼에도 불구하고 나는 스타일을 사용하여 자신을 고치려고 시도했지만 절대적으로 성공하지 못했습니다. 스타일 속성은 툴바 제목의 패딩에 영향을 미치지 않습니다. 전체 툴바에 패딩을 추가 할 수는 있지만 메뉴 항목에도 영향을 미칩니다. 원하지 않습니다.

내 구현은 다음과 같습니다

activity_main.xml :

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/activity_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:fitsSystemWindows="true"> 
      <android.support.v7.widget.Toolbar 
       android:id="@+id/main_activity_toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       style="@style/MyToolbarStyle" 
       app:theme="@style/MyToolbarTheme" /> 
    </LinearLayout> 

styles.xml :

<resources> 

<!-- Base application theme. --> 
<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="MyToolbarStyle" parent="Base.Widget.AppCompat.Toolbar"> 
    <item name="android:elevation">4dp</item> 
    <item name="android:background">@color/colorPrimary</item> 
</style> 

<style name="MyToolbarTheme" parent="Base.Widget.AppCompat.Toolbar"> 
    <item name="android:textColorPrimary">#ffffff</item> 
</style> 

이상적으로, 경우 누군가 내 응용 프로그램 제목이 세로로 가운데에 있지 않도록 잘못했는지 설명 할 수 있습니다. 위대 할 수는 있지만, 그렇지 않으면 누군가가 도구 모음의 응용 프로그램 제목에 여백이나 패딩을 추가하는 방법을 알려줄 수 있습니다. 내가 직접 중심을 잡으려고 할 수 있니?

P. 이것은 this questio의 중복이 아닙니다.이 질문은보다 복잡한 사용자 정의 툴바를 다루고 있습니다. Mine은 기본 구현으로 간주됩니다.

업데이트 : 요청으로 , 여기 내 MainActivity.java 파일의 코드입니다 :

package com.example.samplescanner; 


import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuInflater; 

public class MainActivity extends AppCompatActivity { 



    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar MainActivityToolbar = (Toolbar) findViewById(R.id.main_activity_toolbar); 
     setSupportActionBar(MainActivityToolbar); 


    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) 
    { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.menu_items, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 
} 
+0

툴바 또는 외부 레이아웃에서'android : fitsSystemWindows = "true"'가 누락 된 것 같습니다. –

+0

어디서나 제목을 설정하고 있습니까? –

+0

다른 말로 표현하면 가운데에 위치하지만 전체 도구 모음이 상태 표시 줄 뒤에 있습니다. –

답변

1

내가 Base.Widget.AppCompat.Toolbar에서 문제의 정확한 원인을 찾을 수 없습니다,하지만 그것은의 Gravity을 변경 Toolbar.

<style name="MyTheme.ToolbarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> 
    <item name="android:background">@color/colorPrimary</item> 
    <item name="android:elevation">4dp</item> 
</style> 

그들은 당신이 언급 한 문서에 ThemeOverlay.AppCompat.ActionBar를 사용하지만 Dark 버전은 당신을 위해 textColorPrimary 속성을 설정해야합니다 ThemeOverlay.AppCompat.Dark.ActionBar 대신로부터 상속.