2016-10-09 5 views
0

ご覧のとおり、メニューまたは検索ボタンの3つの点がツールバーの上3分の1にあります。どうやってセンターに置くことができますか? もしその関連 - 私のXMLの一部:設定または検索の3つの点を中心にする

tool_bar.xml:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/ColorPrimary" 
    android:elevation="4dp" > 

    <ImageView 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_gravity="start" 
     android:src="@drawable/app_icon" /> 

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

activity_main.xml:

<include 
    android:id="@+id/tool_bar" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="2" 
    layout="@layout/tool_bar" > 
</include> 
<other views> 

searchable.xml:

<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
    android:hint="@string/hint_search" 
    android:icon="@drawable/magnifying_glass" 
    android:label="@string/app_name" 
    android:searchSuggestAuthority="com.app.recommendations.content_provider" 
    android:searchSuggestIntentAction="android.intent.action.VIEW" 
    android:searchSuggestIntentData="" 
    android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" /> 

main_menu.xml :

... 
    <item 
     android:id="@+id/search" 
     android:icon="@drawable/magnifying_glass" 
     android:title="@string/hint_search" 
     app:actionViewClass="android.support.v7.widget.SearchView" 
     app:showAsAction="collapseActionView|ifRoom"/> 
... 

enter image description here

+0

カスタムツールバーを作成して、検索アイコンの中心にすることができます。 –

+0

どのように?それをしてもいいですか? – Ran

+0

検索アイコンを中央に配置したい場合は、それが役に立ちます。なぜあなたは3つの点を中心にしたいのですか? –

答えて

0

android:layout_weight="2"android:layout_height="0dp"の代わりに、私はちょうどwrap_contentに高さを設定しました。これは、ツールバーを真っ直ぐにして中央にしました!

0

変更あなたのtoo_bar.xmlのコード

<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:gravity="center" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       app:popupTheme="@style/AppTheme.PopupOverlay"> 
        <ImageView 
         android:layout_width="50dp" 
         android:layout_height="50dp" 
         android:layout_gravity="start" 
         android:src="@drawable/app_icon" /> 
      </android.support.v7.widget.Toolbar> 
</android.support.design.widget.AppBarLayout> 
0

あなたはActionMenuViewでカスタムツールバーを作成することができます。あなたのMainActivityで

あなたtoolbar.xmlで

<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.v7.widget.ActionMenuView 
       android:id="@+id/action_menu" 
       android:gravity="center" 
       android:layout_width="wrap_content" 
       android:layout_height="?attr/actionBarSize"/> 
    </android.support.v7.widget.Toolbar> 

public class MainActivity extends AppCompatActivity { 
     ActionMenuView actionMenuView; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_main); 
       Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
       setSupportActionBar(toolbar); 

       actionMenuView = (ActionMenuView) toolbar.findViewById(R.id.action_menu); 
       actionMenuView.setOnMenuItemClickListener(new ActionMenuView.OnMenuItemClickListener() { 
         @Override 
         public boolean onMenuItemClick(MenuItem menuItem) { 
         return onOptionsItemSelected(menuItem); 
         } 
       }); 
     } 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      getMenuInflater().inflate(R.menu.main, actionMenuView.getMenu()); 
      return true; 
     } 
    } 

'中央' に設定ActionViewMenuの重力。それがあなたを助けることを願っています。

関連する問題