programing

Android L에서는 작업 표시줄 탐색 모드가 더 이상 사용되지 않습니다.

javamemo 2023. 8. 28. 20:43
반응형

Android L에서는 작업 표시줄 탐색 모드가 더 이상 사용되지 않습니다.

" diff Android "L"에서 이 사용되는 할 수 .ActionBar: 예스래클예(▁as)setNavigationMode(),addTab(),selectTab()&c)는 이제 더 이상 사용되지 않습니다.

설명서는 다음을 설명합니다.

수행 표시줄 탐색 모드는 더 이상 사용되지 않으며 인라인 도구 모음 수행 표시줄에서 지원되지 않습니다.대신 다른 일반적인 탐색 패턴을 사용하는 것이 좋습니다.

대체품이란 무엇입니까?

또한, "인라인 툴바 액션 바"는 새로운 개념입니까?전에 들어본 적이 없는 것 같아요.

새로운 Android 설계 지원 라이브러리에는 탭 레이아웃이 추가되어 탭에 대한 재료 설계 지침에 맞는 탭 구현이 제공됩니다.탭을 구현하는 방법에 대한 전체적인 설명ViewPager 비디오에서 찾을 수 있습니다.

이제 더 이상 사용되지 않습니다.PagerTabStrip은 지원 라이브러리의 일부이며 (이전부터) 직접 대체 기능을 수행합니다.최신 Google Play 스타일 탭을 선호하는 경우 PagerSlidingTabStrip 라이브러리를 사용하거나 이 DevBytes 비디오에 설명된 대로 Google 제공 예제 SlidingTabsBasic 또는 SlidingTabsColor 중 하나를 수정할 수 있습니다.

이제 Android 5.0 문서를 사용할 수 있게 되었으므로 툴바 위젯에 대한 공식 설명서가 제공됩니다.

응용프로그램 컨텐츠 내에서 사용하기 위한 표준 도구 모음입니다.

도구 모음은 응용프로그램 레이아웃 내에서 사용하기 위한 수행 표시줄의 일반화입니다.수행 표시줄은 일반적으로 프레임워크에 의해 제어되는 활동의 불투명장식의 일부이지만, 도구줄은 보기 계층 구조 내 임의의 중첩 수준에 배치될 수 있습니다.

A Toolbar위젯을 사용하여 수행 표시줄을 바꿀 수도 있습니다.

은 "Toolbar"를 활동에 대한 수행 표시줄로 지정할 수 있습니다.setActionBar()방법.

도구 모음은 탭 자체를 포함할 수 없기 때문에 수행 표시줄에서 탭이 사용되지 않는 것이 가장 큰 원인입니다.

또한 Appcompat 라이브러리를 통해 이전 Android 버전에서도 사용할 수 있습니다.자세한 내용은 Chris Banes의 이 게시물을 참조하십시오.발췌:

Android 5.0에는 새로운 도구 모음 위젯이 도입되었습니다.이는 ActionBar 패턴을 일반화한 것이지만 사용 시 훨씬 더 많은 제어와 유연성을 제공합니다.도구 모음은 다른 보기와 마찬가지로 계층에 있는 보기이므로 이벤트를 스크롤하기 위해 다른 보기와 쉽게 인터리빙하고 애니메이션을 작성하거나 대응할 수 있습니다.

새로운 클래스를 추가한 것 같습니다.android.widget.Toolbar그것은 확장되는ViewGroup또한 그들은 새로운 방법을 추가했습니다.setActionBar(Toolbar)Activity아직 테스트를 해보지는 않았지만, 모든 종류의 제품을 포장할 수 있을 것 같습니다.TabWidgets,Spinners또는 사용자 정의 보기를 사용하여Toolbar작업 표시줄로 사용합니다.

Toolbar다중 선 객체를 부풀리는 데 사용할 수 없으므로 탭을 추가할 수 없습니다.
당신이 경우할을 .Toolbar좋아해를TabWidget일부 탭 개체를 삽입할 수 있지만 이전 Holo 스타일만 삽입할 수 있습니다.

여기에 v7을 사용하는 사용자 지정 라이브러리가 있습니다.Toolbar맘에 들다TabWidget Design 의 Material Design 을 사용합니다.ActionBar Tabs그래서 당신은 당신의 것을 첨부할 수 있습니다.ViewPager 게하.

더 이상 사용되지 않는 ActionBar의 '교체'를 위해 다음과 같이 ActionBar 유형 변수의 유형을 PagerTabStrip으로 변경했습니다(댓글의 이전 코드).

// ActionBar bigActionBar;
PagerTabStrip bigActionBar;

~actionBar의 .selectTab(탭 인덱스)에 대한 '대체'는 다음과 같이 연결된 ViewPager의 .setCurrentItem(int) 메서드를 사용하는 것이었습니다(댓글의 이전 코드).

/*
ActionBar.Tab eventTab = bigActionBar.getTabAt(2);
bigActionBar.selectTab(eventTab);
*/
mViewPager.setCurrentItem(2);

이것이 도움이 되기를 바랍니다.

저도 같은 문제가 있었고, 이 해결책은 저에게 아주 잘 어울렸습니다.

보기 페이지가 포함된 레이아웃 xml 파일에서 다음과 같이 PagerTabStrip을 추가합니다.

<android.support.v4.view.PagerTabStrip
    android:id="@+id/pager_tab_strip"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:background="#996633"
    android:textColor="#CCCCCC"
    android:paddingTop="5dp"
    android:paddingBottom="5dp" />

페이지 제목을 제어하려면 ViewPager 파일에 스위치 문을 추가합니다.

@Override
public CharSequence getPageTitle(int position)
{
    switch (position)
    {
    case 0:
        return "Page 1";

    case 1:
        return "Page 2";

    case 2:
        return "Page 3";

    }

    return null;
}

FragmentTabHost도 옵션입니다.

이 코드는 Android 개발자 사이트에서 가져온 것입니다.

/**
 * This demonstrates how you can implement switching between the tabs of a
 * TabHost through fragments, using FragmentTabHost.
 */
public class FragmentTabs extends FragmentActivity {
    private FragmentTabHost mTabHost;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.fragment_tabs);
    mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
    mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

    mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
            FragmentStackSupport.CountingFragment.class, null);
    mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
            LoaderCursorSupport.CursorLoaderListFragment.class, null);
    mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),
            LoaderCustomSupport.AppListFragment.class, null);
    mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
            LoaderThrottleSupport.ThrottledLoaderListFragment.class, null);
    }
}

재료 설계로 슬라이딩 탭을 지원하는 작업 표시줄(현재 '도구 모음' - arg)을 구성하는 동안 이러한 자습서가 유용하다는 것을 알게 되었습니다.

https://www.youtube.com/watch?v=Fl0xMuo10yA

http://www.exoguru.com/android/material-design/navigation/android-sliding-tabs-with-material-design.html

특정 상황에 맞게 이러한 리소스를 합성해야 합니다.예를 들어, exoguru.com 튜토리얼과 동일한 스타일로 탭을 수동으로 생성하지 않을 수 있습니다.

도구 모음 v7 위젯 앱컴포트를 사용하여 더 이상 사용하지 않는 탐색 도구 모음을 처리할 수 있습니다.

    setSupportActionBar(toolbar);
    getSupportActionBar().setSubtitle("Feed Detail");
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //goToWhere
        }
    });

3~5개의 화면이 동등하게 중요할 때 적합한 대체물은 Bottom Navigation Activity이며, 이는 단편을 전환하는 데 사용할 수 있습니다.

Android Studio에는 이에 대한 마법사가 있습니다. 그러나 Android Studio는 지나치게 복잡한 보일러 플레이트 코드를 생성하는 경향이 있으므로 주의하십시오.

튜토리얼은 https://android.jlelse.eu/ultimate-guide-to-bottom-navigation-on-android-75e4efb8105f 에서 찾을 수 있습니다.

다른 품질 튜토리얼은 Android Hive에서 찾을 수 있습니다. https://www.androidhive.info/2017/12/android-working-with-bottom-navigation/

언급URL : https://stackoverflow.com/questions/24473213/action-bar-navigation-modes-are-deprecated-in-android-l

반응형