2016-07-10 15 views
0

왼쪽에 햄버거 탐색 아이콘이 표시되는 V4 Navigation Drawer을 사용하라는 Android 가이드를 따르고 있습니다. 대신 어떻게됩니까 내가 하나 개의 아이콘을 사용하는 경우 I는이 결과를 가지고있다 :김프로 만든 탐색 용 서랍 아이콘에 너무 많은 공간이 있습니다.

icon made with Gimp

나는 다른 유사한 아이콘을 사용하여이 더욱 악화되고 모든 공간을 차지 대신하는 경우 : similar icon different behaviour

이해할 수 없음 :

1) 어떻게 두 번째 아이콘을 사용할 수 있습니까? 네비게이션 드로어에서 기대하는 것처럼 다른 아이콘이 계속 나타나면서 왼쪽에있는 방법?

import android.support.v4.app.ActionBarDrawerToggle; 
import android.support.v4.widget.DrawerLayout; 

public class MainActivity extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY); 
getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#00000000"))); 
getActionBar().setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff"))); 

    super.onCreate(savedInstanceState); 


     setContentView(R.layout.activity_main);  
String[] provaListaDrawer = {"List1", "List2", "List3"}; 
     mTitle = mDrawerTitle = getTitle(); 

     DrawerLayout mDrawerLayout = 
       (DrawerLayout) findViewById(R.id.drawer_layout); 
     actionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.app_drawer, R.string.drawer_open, R.string.drawer_close) 

     { 

      /** 
      * Called when a drawer has settled in a completely closed state. 
      */ 
      public void onDrawerClosed(View view) { 
       super.onDrawerClosed(view); 
       getActionBar().setTitle(mTitle); 
       Log.d("IVO", "onDrawerClosed"); 
       invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() 
      } 

      /** 
      * Called when a drawer has settled in a completely open state. 
      */ 
      public void onDrawerOpened(View drawerView) { 
       super.onDrawerOpened(drawerView); 
       getActionBar().setTitle(mDrawerTitle); 
       Log.d("IVO", "onDrawerOpened"); 

       invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() 
      } 
     } 
     ; 

     ListView mDrawerList = (ListView) findViewById(R.id.left_drawer); 

    mDrawerList.setAdapter(new ArrayAdapter<String>(this, R.layout.drawer_list_view,provaListaDrawer)); 

     mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 

mDrawerLayout.setDrawerListener(actionBarDrawerToggle); 
    getActionBar().setDisplayHomeAsUpEnabled(true); 
// 
    // getActionBar().setHomeButtonEnabled(true); 

//  ActionBar actionBar = getActionBar(); 
//  actionBar.setDisplayShowHomeEnabled(false); 
//  actionBar.setDisplayShowCustomEnabled(true); 
//  actionBar.setDisplayShowTitleEnabled(false); 
//  View customView = getLayoutInflater().inflate(R.layout.activity_main, null); 
//  actionBar.setCustomView(customView); 
//  Toolbar parent =(Toolbar) customView.getParent(); 
//  parent.setContentInsetsAbsolute(0,0); 




    } 
    //other methods 
    } 

activity_main : 나는하여 200x200 픽셀 크기

내 주요 클래스

그들에게주는 김프로 일했다 결국 두 개의 서로 다른 아이콘은 다른 동작을 왜

2). xml

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 

    > 
    <!-- The main content view --> 

    <fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/fragment_as_list" 
    android:name="ivano.android.com.xx" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
     /> 

    <ListView android:id="@+id/left_drawer" 
     android:layout_width="240dp" 

     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" 
     android:dividerHeight="19dp" 
     android:background="@drawable/image_background" 
     android:paddingTop="?android:attr/actionBarSize" 

     android:paddingLeft="@dimen/activity_horizontal_margin" 

     android:paddingRight="@dimen/activity_horizontal_margin" 

     android:paddingBottom="@dimen/activity_vertical_margin" 
     /> 
</android.support.v4.widget.DrawerLayout> 
+0

[Support Navigation Bar] (https://developer.android.com/training/implementing-navigation/nav-drawer.html)를 사용해야합니다. 그것은 정렬에 도움이 될 것입니다. [이] (http://codetheory.in/android-navigation-drawer/) 블로그 게시물은 기본 햄버거 아이콘을 사용하는 방법을 알려줍니다. 테마로 원하는 색상으로 색칠 할 수 있습니다. – nukeforum

+0

@nukeforum 관심을 가져 주셔서 감사합니다. 지원 탐색 표시 줄에 대해 내 게시물에서 지정한 것과 동일한 링크를 제공합니다. 즉, 내가 사용하고있는 V4 라이브러리를 사용한다는 의미입니다. 내가 이해할 수없는 것은 아이콘이 예상과 다른 동작을하는 이유입니다. – trocchietto

답변

0

나는 는 기본적으로 나는 공식 소재 디자인 아이콘을 솔루션을 다운로드 발견하고는 매력 https://design.google.com/icons/index.html

차원 경우 48x48로 작동; 너비 48 픽셀; 높이 48 픽셀; 비트 깊이 32;

재주문 아이콘을 선택했습니다.

관련 문제