2017-05-11 5 views
0

메뉴 아이콘을이 그림과 같이 표시 줄의 왼쪽 끝에있는 앱 이름 왼쪽으로 이동하는 방법은 무엇입니까? java 코드를 추가하지 않고 xml로만이를 수행 할 수 있습니까?작업 표시 줄의 왼쪽 끝에 메뉴 항목 놓기

move item to left 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:id="@+id/main_content" 
               android:layout_width="match_parent" 
               android:layout_height="match_parent" 
               android:fitsSystemWindows="true" 
               tools:context="com.robyn.myapplication.MainActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:background="@drawable/gradient_bg" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="@dimen/appbar_padding_top" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 

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

     <android.support.design.widget.TabLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <android.support.design.widget.TabItem 
       android:id="@+id/tab1" 
       android:icon="@drawable/date" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"/> 
      <android.support.design.widget.TabItem 
       android:id="@+id/tab2" 
       android:icon="@drawable/favo" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"/> 
      <android.support.design.widget.TabItem 
       android:id="@+id/tab3" 
       android:icon="@drawable/hour" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"/> 


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

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end|bottom" 
     android:layout_margin="@dimen/fab_margin" 
     app:srcCompat="@android:drawable/ic_dialog_email"/> 

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

menu_main.xml

<menu 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" 
     tools:context="com.robyn.myapplication.MainActivity"> 
    <item 
     android:id="@+id/action_settings" 
     android:icon="@drawable/ic_menu_white_24dp" 
     android:orderInCategory="0" 
     android:title="@string/action_settings" 
     app:showAsAction="ifRoom"/> 
</menu> 
+0

그냥 메뉴를 사용하고 도구 모음에서 그것을 이미지 뷰를 만들 그나마 도움이되기를 바랍니다 –

답변

0

당신이 toolbar 태그 안에 이미지를 넣을 경우 @Martin De Simone에 따르면, 작은 공간이 남아있을 것입니다, 그것은되지 않습니다 아주 왼쪽에. 이 문제가 해결되면 다음과 같이 할 수 있습니다.

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    app:layout_scrollFlags="scroll|enterAlways" 
    app:popupTheme="@style/AppTheme.PopupOverlay"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="left|start"> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:src="@drawable/ic_dehaze" 
      android:contentDescription="@string/logo"/> 

    </LinearLayout> 

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

더 많은 가능한 해결책이 있습니다.

  1. 그것은 일종의 해킹,하지만 당신은 API 레벨 17을 대상으로하는 경우 이상에서는`layoutDirection = "RTL"를 설정할 수 있습니다. 그에 따라 제목 방향을 설정해야합니다.
  2. toolbar을 설정하려면 Java 코드를 사용해야하며 더 많은 행을 추가해야합니다.

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    if(getSupportActionBar() != null) { 
        getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
        getSupportActionBar().setHomeButtonEnabled(true); 
        getSupportActionBar().setDisplayShowHomeEnabled(true); 
    } 
    toolbar.setNavigationIcon(R.drawable.ic_dehaze); //your icon 
    toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         //Do whatever you want to do here 
        } 
    }); 
    

관련 문제