programing

도구 모음에 뒤로 화살표 표시

telebox 2023. 6. 6. 08:13
반응형

도구 모음에 뒤로 화살표 표시

에서 마이그레이션합니다.ActionBarToolbar내 신청으로하지만 뒤로 화살표에 클릭 이벤트를 표시하고 설정하는 방법을 모르겠습니다.Toolbar가 한가것럼에서 처럼.Actionbar.

여기에 이미지 설명 입력

와 함께ActionBar부를게요mActionbar.setDisplayHomeAsUpEnabled(true)하지만 이런 비슷한 방법은 없습니다.

이 상황에 직면하고 어떻게든 해결할 방법을 찾은 사람이 있습니까?

사중인경우를 .ActionBarActivity Android에게 Android를 수 있습니다.Toolbar▁the로서ActionBar 예:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);

그리고 나서 전화가 왔습니다.

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);

효과가 있을 것입니다.에다첨에부서도사용할다수있니에 첨부된 할 수 .ActionBarActivities다음과 같이 사용할 수 있습니다.

((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowHomeEnabled(true);

당신이 않경우는지를 .ActionBarActivities 뒤 를 니면뒤화표싶시다면고하를살표에아▁a,▁the▁on▁▁or▁get▁to▁if▁arrow▁back면싶▁want다.Toolbar그것은 당신의 것으로 설정되지 않았습니다.SupportActionBar그런 다음 다음을 사용할 수 있습니다.

mActionBar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
mActionBar.setNavigationOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
       //What to do on back clicked
   }
});

사중인경우를 .android.support.v7.widget.Toolbar 코드를 그러면당다당추합가니다야해신게에에 .AppCompatActivity:

@Override
public boolean onSupportNavigateUp() {
    onBackPressed();
    return true;
}

저는 많은 답을 보지만, 여기 전에 언급되지 않은 제 답이 있습니다.API 8+부터 작동합니다.

public class DetailActivity extends AppCompatActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail);

    // toolbar
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    // add back arrow to toolbar
    if (getSupportActionBar() != null){
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
    }
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // handle arrow click here
    if (item.getItemId() == android.R.id.home) {
        finish(); // close this activity and return to preview activity (if there is any)
    }

    return super.onOptionsItemSelected(item);
}

이를 달성하는 방법은 여러 가지가 있습니다. 제가 가장 좋아하는 것은 다음과 같습니다.

레이아웃:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:navigationIcon="?attr/homeAsUpIndicator" />

활동:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // back button pressed
    }
});

도구 모음 집합Navigation을 사용할 수 있습니다.아이콘 메소드.안드로이드 문서

mToolBar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);

mToolBar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        handleOnBackPress();
    }
});

사용자 정의를 생성하지 않으려는 경우Toolbar당신은 이렇게 할 수 있습니다.

public class GalleryActivity extends AppCompatActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...  
        getSupportActionBar().setTitle("Select Image");
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            finish();
        }
        return super.onOptionsItemSelected(item);
    }
}                     

안에 ㅠㅠㅠㅠAndroidManifest.xml

<activity
    android:name=".GalleryActivity"
    android:theme="@style/Theme.AppCompat.Light">        
</activity>

이것도 넣을 수 있습니다.android:theme="@style/Theme.AppCompat.Light"<aplication> 활동에 ,

여기에 이미지 설명 입력

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setNavigationIcon(R.drawable.back_arrow); // your drawable
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onBackPressed(); // Implemented by activity
        }
    });

21+ API 21+의우의 android:navigationIcon

<android.support.v7.widget.Toolbar
    android:navigationIcon="@drawable/back_arrow"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"/>

Google 개발자 설명서에서 이 방법을 사용했습니다.

@Override
public void onCreate(Bundle savedInstanceState) {
  ...
  getActionBar().setDisplayHomeAsUpEnabled(true);
}

null 포인터 예외가 발생하면 테마에 따라 달라질 수 있습니다.매니페스트에서 다른 테마를 사용하거나 다른 방법으로 사용해 보십시오.

@Override
public void onCreate(Bundle savedInstanceState) {
  ...
  getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

그런 다음 매니페스트에서 현재 활동에 대한 상위 활동을 설정합니다.

<activity
        android:name="com.example.myapp.MyCurrentActivity"
        android:label="@string/title_activity_display_message"
     android:parentActivityName="com.example.myfirstapp.MainActivity" >
    <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.myapp.MyMainActivity" />
</activity>

이것이 당신에게 도움이 되기를 바랍니다!

사용 중인 경우AppCompatActivity하지 않기 .ActionBar, 면를원문하다입니기기리하이왜냐하것이그▁that,▁you▁out▁the▁provides다▁it니▁want때,입문▁because것.Toolbar당신의 재료 설계 요구 때문에.CoordinatorLayout또는AppBarLayout다음을 고려합니다.

은 여전히 사수다있니습할용을 할 수 있습니다.AppCompatActivity당신은 단지 당신이 사용할 수 있도록 그것의 사용을 멈출 필요는 없습니다.<android.support.v7.widget.Toolbar>당신의 xml에.다음과 같이 수행 표시줄 스타일을 해제합니다.

" 중 합니다.styles.xml저는 용한사를 요.Theme.AppCompat.Light.NoActionBar 예:

<style name="SuperCoolAppBarActivity" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>

    <!-- colorPrimaryDark is used for the status bar -->
    <item name="colorPrimaryDark">@color/primary_dark</item>
    ...
    ...
</style>

앱 매니페스트에서 방금 정의한 하위 스타일 테마를 다음과 같이 선택합니다.

    <activity
        android:name=".activity.YourSuperCoolActivity"
        android:label="@string/super_cool"
        android:theme="@style/SuperCoolAppBarActivity">
    </activity>

Activity Xml에서 도구 모음이 다음과 같이 정의된 경우:

...
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        />
...

그런 다음 확장할 AppCompativity에 대한 지원 작업 표시줄을 설정하여 xml의 도구 모음이 작업 표시줄이 되도록 합니다.사용자 지정 클릭 핸들러를 추가하지 않고도 메뉴, 자동 작업 제목, 항목 선택 처리 등과 같이 ActionBar에서 허용하는 많은 작업을 쉽게 수행할 수 있기 때문에 이 방법이 더 좋다고 생각합니다.

[활동]의 [만들기] 재정의에서 다음을 수행합니다.

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_super_cool);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

    setSupportActionBar(toolbar);
    //Your toolbar is now an action bar and you can use it like you always do, for example:
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
} 

androidx.appcompat.app.AppCompatActivity그냥 사용:

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

그냥 그다음 .Manifest.xml모체 활동

<activity
    android:name=".MyActivity"
    ...>
  <meta-data
      android:name="android.support.PARENT_ACTIVITY"
      android:value=".ParentActivity" />
</activity>

대신사는경우하를 Toolbar사용자 지정 동작을 원하는 경우 다음을 사용합니다.

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar" 
    app:navigationIcon="?attr/homeAsUpIndicator"
    .../>

활동 내용:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //....
    }
});

코틀린에서는 그럴 것입니다.

private fun setupToolbar(){
    toolbar.title = getString(R.string.YOUR_TITLE)
    setSupportActionBar(toolbar)
    supportActionBar?.setDisplayHomeAsUpEnabled(true)
    supportActionBar?.setDisplayShowHomeEnabled(true)
}

// don't forget click listener for back button
override fun onSupportNavigateUp(): Boolean {
    onBackPressed()
    return true
}

도구 모음의 뒤로 버튼을 쉽고 간편하게 표시할 수 있는 방법

이 코드를 onCreate 메서드에 붙여넣기

 if (getSupportActionBar() != null){

            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setDisplayShowHomeEnabled(true);
        }

onCreate 메서드 외부에 이 재정의 메서드를 붙여넣습니다.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if(item.getItemId()== android.R.id.home) {

        finish();
    }
    return super.onOptionsItemSelected(item);
}
MyActivity extends AppCompatActivity {

    private Toolbar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ...
        toolbar = (Toolbar) findViewById(R.id.my_toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        toolbar.setNavigationOnClickListener(arrow -> onBackPressed());
    }

쉽게 할 수 있습니다.

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
@Override
public boolean onSupportNavigateUp() {
    onBackPressed();
    return true;
}

학점: https://freakycoder.com/android-notes-24-how-to-add-back-button-at-toolbar-941e6577418e

먼저 도구 모음을 초기화해야 합니다.

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

그런 다음 수행 표시줄에서 뒤로 단추를 누릅니다.

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);

@Override
public boolean onSupportNavigateUp() {
    onBackPressed();
    return true;
}

AppCompatActivity예를 들어 당신은 할 수 있습니다.

public class GrandStatActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_grand_stat);
    }

    @Override
    public void onResume() {
        super.onResume();

        // Display custom title
        ActionBar actionBar = this.getSupportActionBar();
        actionBar.setTitle(R.string.fragment_title_grandstats);

        // Display the back arrow
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
    }

    // Back arrow click event to go to the parent Activity
    @Override
    public boolean onSupportNavigateUp() {
        onBackPressed();
        return true;
    }

}

뒤로 단추를 추가할 활동의 매니페스트 파일에서 Android:parentActivityName 속성을 사용합니다.

        <activity
        android:name=".WebActivity"
        android:screenOrientation="portrait"
        android:parentActivityName=".MainActivity"
        />

추신: 이 특성은 API 레벨 16에 도입되었습니다.

지원 작업 표시줄로 설정되지 않은 도구 모음에서 뒤로 화살표를 가져오려면 다음을 수행합니다.

(flin)

val resId = getResIdFromAttribute(toolbar.context, android.R.attr.homeAsUpIndicator)
toolbarFilter.navigationIcon = ContextCompat.getDrawable(toolbar.context, resId)
toolbarFilter.setNavigationOnClickListener { fragmentManager?.popBackStack() }

특성에서 res를 가져오려면:

@AnyRes
fun getResIdFromAttribute(context: Context, @AttrRes attr: Int): Int {
    if (attr == 0) return 0
    val typedValueAttr = TypedValue()
    context.theme.resolveAttribute(attr, typedValueAttr, true)
    return typedValueAttr.resourceId
}

이것은 완벽하게 작동했습니다.

public class BackButton extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.chat_box);
        Toolbar chatbox_toolbar=(Toolbar)findViewById(R.id.chat_box_toolbar);
        chatbox_toolbar.setTitle("Demo Back Button");
        chatbox_toolbar.setTitleTextColor(getResources().getColor(R.color.white));
        setSupportActionBar(chatbox_toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
        chatbox_toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //Define Back Button Function
            }
        });
    }
}

문제를 빠르고 간단하게 처리하려면 다음 3단계를 수행합니다.

아래의 일부 코드를 사용하여 drawable 폴더에 ic_arrow.xml 파일을 추가합니다(아래 코드를 ic_arrow.xml에 추가).

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="24dp"
android:height="24dp"
android:tint="@color/black"
android:viewportWidth="24"
android:viewportHeight="24"
tools:ignore="ExtraText">
<path
    android:fillColor="@android:color/white"
    android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
</vector>

더하다ImageButtonToolbar( Statusbar가 지정 확인) - 단추) 지정할 수

<ImageButton
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow"
android:layout_marginTop="15dp"
android:layout_marginStart="15dp"
android:background="@android:color/transparent"
tools:ignore="ContentDescription" />

추가합니다.setArrowButton to 는법방.DetailActivity.java( xxxActivityxxxActivity.java)

public class DetailActivity extends AppCompatActivity {
    ImageButton arrowButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail);

    arrowButton = findViewById(R.id.arrow);

    setArrowButton(arrowButton);
}

public void setArrowButton(ImageButton arrowButton) {
    arrowButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            finish(); //will close the moment activity and return to 
                      //the last activity
        }
    });
   }
}

다 했어요.

화살표 미리 보기버튼

여기에 이미지 설명 입력

레이아웃 폴더에서 활동의 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/prod_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>

도구 모음을 클릭할 수 있도록 설정하고 다음을 onCreate 메서드에 추가합니다.

Toolbar toolbar = (Toolbar) findViewById(R.id.prod_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        finish();
    }
});

Kotlin과 함께 그것은 다음이 되었습니다.

Xml:

<include
android:id="@+id/tbSignToolbar "
layout="@layout/toolbar_sign_up_in"/>

활동 중:-

setSupportActionBar(tbSignToolbar as Toolbar?)//tbSignToolbar :id of your toolbar 
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)

도구 모음을 수행 표시줄로 사용하지 않는 경우 테마에서 위쪽 아이콘을 가져오는 더 신뢰할 수 있는 방법:

toolbar.navigationIcon = context.getDrawableFromAttribute(R.attr.homeAsUpIndicator)

테마 속성을 그리기 가능으로 전환하기 위해 확장 기능을 사용했습니다.

fun Context.getDrawableFromAttribute(attributeId: Int): Drawable {
    val typedValue = TypedValue().also { theme.resolveAttribute(attributeId, it, true) }
    return resources.getDrawable(typedValue.resourceId, theme)
}

ActionBarDrawerToggle과 DrawerLayout을 함께 사용하는 경우 메뉴 단추 대신 뒤로 단추를 표시하려면 다음 코드를 활동에 추가해야 합니다.

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

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.application_name, R.string.application_name);
    mDrawerLayout.addDrawerListener(mDrawerToggle);

    mDrawerToggle.setHomeAsUpIndicator(R.drawable.ic_arrow_back_white_32dp);
    mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onBackPressed(); // Or you can perform some other action here when Back button is clicked.
        }
    });
    mDrawerToggle.syncState();
    // ...
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (mDrawerToggle.onOptionsItemSelected(item))
        return true;

    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;
        // ...
    }

    return super.onOptionsItemSelected(item);
}

public void showBackInToolbar(boolean isBack) {
    // Remove next line if you still want to be able to swipe to show drawer menu.
    mDrawerLayout.setDrawerLockMode(isBack ? DrawerLayout.LOCK_MODE_LOCKED_CLOSED : DrawerLayout.LOCK_MODE_UNLOCKED);
    mDrawerToggle.setDrawerIndicatorEnabled(!isBack);
    mDrawerToggle.syncState();
}

따라서 메뉴 단추 대신 뒤로 단추를 표시해야 할 경우 showBackInToolbar(true)를 호출하고, 메뉴 단추가 필요한 경우 showBackInToolbar(false)를 호출합니다.

여기서 뒤로 화살표(ic_arrow_back_white_32dp)를 생성하고 Clipart 섹션에서 arrow_back을 검색할 수 있습니다(기본 32dp와 8dp 패딩 사용).원하는 색상만 선택하시면 됩니다.

언제든지 추가할 수 있습니다.Relative layout또는Linear Layout당신의Toolbar원하는 도구 모음의 아무 곳에나 뒤로 아이콘 또는 닫기 아이콘에 대한 이미지 보기를 배치합니다.

예를 들어 도구 모음에서 상대 레이아웃을 사용했습니다.

 <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar_top"
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:minHeight="?attr/actionBarSize"
                android:nextFocusDown="@id/netflixVideoGridView"
                app:layout_collapseMode="pin">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">


                    <TextView

                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Myflix"
                        android:textAllCaps="true"
                        android:textSize="19sp"
                        android:textColor="@color/red"
                        android:textStyle="bold" />


                    <ImageView
                        android:id="@+id/closeMyFlix"
                        android:layout_alignParentRight="true"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        app:srcCompat="@drawable/vector_close" />


                </RelativeLayout>

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

그리고 이것은 다음과 같습니다.

여기에 이미지 설명 입력

활동에서 해당 이미지 보기의 클릭 수신기 또는 이와 같은 조각을 추가할 수 있습니다.

  closeMyFlix.setOnClickListener({
            Navigator.instance.showFireTV(  activity!!.supportFragmentManager)
        })

JetPack Navigation을 사용하는 경우.

기본 활동의 레이아웃입니다.

<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
                                               android:layout_height="match_parent"
                                               tools:context=".MainActivity">

<androidx.appcompat.widget.Toolbar
        android:id="@+id/toolBar"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

</androidx.appcompat.widget.Toolbar>

<fragment
        android:id="@+id/my_nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:defaultNavHost="true"
        app:layout_constraintTop_toBottomOf="@id/toolBar"
        app:layout_constraintBottom_toTopOf="parent"
        app:navGraph="@navigation/nav_graph"/>

활동 클래스의 만들기()에 있는 아래와 같은 활동에 도구 모음을 설정합니다.

val navHostFragment = supportFragmentManager
        .findFragmentById(R.id.my_nav_host_fragment) as NavHostFragment? ?: return

val navController = navHostFragment.findNavController()
val toolBar = findViewById<Toolbar>(R.id.toolBar)
setSupportActionBar(toolBar) // To set toolBar as ActionBar
setupActionBarWithNavController(navController)

setupActionBarNavController(navController) 필요한 경우 도구 모음에 뒤로 단추를 만들고 뒤로 단추 기능을 처리합니다.CustomBack 기능을 작성해야 하는 경우 Create() 메서드의 fragment에 아래와 같이 콜백을 작성합니다.

val callback = requireActivity().onBackPressedDispatcher.addCallback(this) {
        // Handle the back button event
    }

설명서에서:https://developer.android.com/guide/navigation/navigation-custom-back

누군가에게 도움이 될 수도 있습니다. 마지막까지 제가 한 일을 답에서 찾지 못했습니다. 액션 막대 드로어를 사용하여 togglemDrawerToggle; 도구 모음 집합에서 뒤로 화살표를 표시하려면: mDrawerToggle.setDrawer표시기 활성화(거짓);

도구 모음에서 햄버거를 표시하려면 다음을 수행합니다.

mDrawerToggle.setDrawer표시기 활성화(참);

언급URL : https://stackoverflow.com/questions/26651602/display-back-arrow-on-toolbar

반응형