2014-10-30 2 views
7

좁은 기능이 Android 5.0에서 제거되었을 때 분할 작업 표시 줄을 아는 사람이 있습니까? 더 이상 레이아웃에 영향을 미치지 않는 것 같습니다. 이 질문은 정말 이전에 응답하지 않았기 때문에Android 5.0 (Lollipop)의 분할 작업 표시 줄

+5

당신이 지금 바닥 위에 도구 모음을 제공하는 시스템이 아닌 – tyczj

+0

우리는 어떻게이 이전 버전과의 호환성을 위해 무엇을합니까? taget SDK가 21이고 appcompat 라이브러리가 21 수준 인 경우 시스템에서 actionBar를 분할하지만 하단에 빈 흰색 스트립이있는 모든 동작 항목이 맨 위에 표시됩니다. – iTapAndroid

+2

필자가 보았 듯이 툴바를 구현해야합니다. 큰 문제는 아닙니다. 내가 너무 적은 시간을 보았 기 때문에 아직 파악할 수 없었던 것은 작업 표시 줄에 아이콘을 고르게 분배하는 것입니다. – Florian

답변

9

...

분할 작업 표시 줄 때 좁은 기능은 안드로이드 5.0에서 제거 된 경우 누구나 알고 있나요?

예, it was,하지만 that change is not documented 문제 추적기 항목 자체는 아닙니다.

3

마찬가지로 작업 표시 줄을 분할 할 수는 없지만 툴바를 사용하면 더 나은 결과를 얻을 수 있습니다.

Toolbar toolbarBottom = (Toolbar) findViewById(R.id.toolbar_bottom); 
    toolbarBottom.inflateMenu(R.menu.menu_bottom); 
    toolbarBottom.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { 
     @Override 
     public boolean onMenuItemClick(MenuItem menuItem) { 
      //your code 
      return false; 
     } 
    }); 

그것은이 기능은 APPCOMPAT 지원 또한 레이아웃에 도구 모음를 선언해야합니다

compile "com.android.support:appcompat-v7:21.0.+" 

와 호환이라고 말할 것이 중요합니다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="?attr/colorPrimary" 
    android:minHeight="?attr/actionBarSize" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar_bottom" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:background="?attr/colorPrimary" 
    android:minHeight="?attr/actionBarSize"/> 

    <LinearLayout 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingTop="?attr/actionBarSize" 
    android:layout_above="@id/toolbar" 
    android:layout_below="@id/toolbar_bottom" /> 
</LinearLayout> 

0

다른 답변처럼 당신은 코딩에서 직접 메뉴 xml 파일에 자신의 막대를 만들거나 할 수 있습니다.
툴바는 두 개 이상의 항목을 항상 볼 수있게 설정하지 않지만 툴바가 항상 표시되는 동작 버튼에 표시되도록 할 수 있으며 오버플로 동작은 옵션 메뉴를 자동으로 생성합니다.
기타 기본 사용자 화는 xml 파일로 수행 할 수 있습니다.
코드 :

final Toolbar lowerTool=(Toolbar)findViewById(R.id.lower_toolbar); 
     lowerTool.inflateMenu(R.menu.lower_toolbar_menu); 
     lowerTool.getMenu().findItem(com.tvf.emag.R.id.action_previous).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT| MenuItem.SHOW_AS_ACTION_IF_ROOM); 
     lowerTool.getMenu().findItem(com.tvf.emag.R.id.action_previous).setEnabled(mPager.getCurrentItem() > 0); 
     lowerTool.getMenu().add(Menu.NONE, com.tvf.emag.R.id.action_next, Menu.NONE, 
       (mPager.getCurrentItem() == mPagerAdapter.getCount() - 1) 
         ? com.tvf.emag.R.string.action_finish 
         : com.tvf.emag.R.string.action_next); 
     lowerTool.getMenu().findItem(com.tvf.emag.R.id.action_next).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT| MenuItem.SHOW_AS_ACTION_IF_ROOM); 
     lowerTool.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { 
      @Override 
      public boolean onMenuItemClick(MenuItem menuItem) { 
       switch (menuItem.getItemId()) { 
        case com.tvf.emag.R.id.action_previous: 
         mPager.setCurrentItem(mPager.getCurrentItem() - 1); 
         return true; 
        case com.tvf.emag.R.id.action_next: 
         mPager.setCurrentItem(mPager.getCurrentItem() + 1); 
         return true; 
       } 
       return true; 
      } 
     }); 
관련 문제