안드로이드 앱에서 Toolbar.setTitle 메소드는 효과가 없습니다 – 어플리케이션 이름은 제목으로 표시됩니다


298

android-support-v7 : 21 라이브러리를 사용하여 간단한 응용 프로그램을 만들려고합니다.

코드 스 니펫 :
MainActivity.java

public class MainActivity extends ActionBarActivity {

    Toolbar mActionBarToolbar;

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

        mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            
        mActionBarToolbar.setTitle("My title");
        setSupportActionBar(mActionBarToolbar);
}

activity_main.xml

<LinearLayout
    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:fitsSystemWindows="true"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar            
        android:id="@+id/toolbar_actionbar"
        android:background="@null"
        android:layout_width="match_parent"
        android:layout_height="?actionBarSize"
        android:fitsSystemWindows="true" />

</LinearLayout>

그러나 툴바의 "제목"대신 % application name %이 (가) 표시됩니다. 방법이 효과가없는
것 같습니다 setTitle.
"제목"을 표시하고 싶습니다.

UPD : 전에는 styles.xml:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="windowActionBar">false</item>
</style>

따라서 작업 표시 줄이 사용되지 않는다고 생각했습니다. NoActionBar스타일 부모에 추가 합니다.

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="windowActionBar">false</item>
</style>

그러나 문제는 해결되지 않았습니다.


4
FWIW, 나는 API 레벨 22에 있고 setSupportActionBar 호출 한 후 setTitle 호출하는 경우 동일한 문제가 있었지만 전에 setTitle 호출하면 작동했습니다 . 아래 답변에 설명 된 것처럼 setSupportActionBar를 호출 한 후 작업 표시 줄이 도구 모음의 소유권을 가져 와서 도구 모음에서 직접 호출이 작동하지 않을 수 있습니다. 나는 귀하의 질문에 당신이 실현 않는 그래서 아마이 최근 변경 뭔가, setSupportActionBar 전에 사실 호출 setTitle이라는에서. 어쨌든 getSupportActionBar (). setTitle을 사용하는 것도 마찬가지로 작동합니다.
JHH


"툴바로 활동 제목을 어떻게 설정합니까?" link.medium.com/cGVg3zVr0Z
베르 더

답변:


558

해결책을 찾았습니다.

대신에:

mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            
mActionBarToolbar.setTitle("My title");
setSupportActionBar(mActionBarToolbar);

나는 사용했다 :

mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            
setSupportActionBar(mActionBarToolbar);
getSupportActionBar().setTitle("My title");

그리고 작동합니다.


27
좋은 하나,하지만이 방법과 다른 방법으로 작동하지 말아야 .... 안드로이드 101에 오신 것을 환영합니다
DoruChidean

28
getSupportActionBar().setTitle("My title");'java.lang.NullPointerException이'가 발생할 수 있습니다
Pratik Butani

8
@PratikButani getSupportActionBar ()를 호출하기 전에 툴바가 setSupportActionBar ()로 설정되어있는 한 왜 그럴 수 있습니까?
레온

3
Aha, 쉽게 해결 : assert getSupportActionBar ()! = null;
레온

10
여러분은 @PratikButani의 의견을 너무나 자주 찬성 했습니까? 작업 표시 줄없이 스타일 테마를 사용하지만 사용자 지정 지원 도구 모음 v7 을 호출하고 호출 setSupportActionBar(mToolbar)하는 것을 잊어 버린 경우 null 예외가 발생하지만 호출하면이 메시지를 무시하십시오. 그냥 읽기 - developer.android.com/training/appbar/setting-up.html
USER25을

115

SupportActionBar를 설정 한 후 언젠가 툴바를 통해 타이틀을 설정해야하는 사람은 이 내용을 읽으십시오.

지원 라이브러리의 내부 구현은 SupportActionBar가 설정되는 순간 툴바에 제목 (널이 아님)이 있는지 확인합니다. 있다면이 제목이 창 제목 대신 사용됩니다. 그런 다음 실제 제목을로드하는 동안 더미 제목을 설정할 수 있습니다.

mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
mActionBarToolbar.setTitle("");
setSupportActionBar(mActionBarToolbar);

나중...

mActionBarToolbar.setTitle(title);

그것은 효과가 있지만 이것이 왜 그렇게 해야하는지는 나에게 이해가되지 않습니다. 왜 이것이 작동하는지에 대한 설명이 있습니까?
맥스웰

1
@Maxwell 작업 표시 줄 / 도구 모음 상호 작용의 디자인을 고려하는 것이 좋습니다. 활동에 제목이 표시되어야합니다. 제목이없는 툴바를 제공하면 Android에서는 기존 활동 제목 제어를 원한다고 가정합니다.
Drew

1
mActionBarToolbar.setTitle (getResources (). getString (R.string.app_name));
Eslam Sameh Ahmed

@ 작동하기 전에,이 답변의 투표 수를 확인하십시오 ... 방금 잘못했습니다
user25

@ user25, 그것은 또한 나에게 좋지 않았다, 그것은 뒤로 화살표를 제거했다. 그런 다음 다른 솔루션을 찾았습니다 : stackoverflow.com/a/40571324/2914140 . this.setTitle("Title")여기서 this-는 활동에 대한 참조입니다.
CoolMind

80

위의 답변은 완전히 사실이지만 저에게는 효과가 없습니다.

나는 다음과 같은 문제를 해결했다.

실제로 내 XML은 다음과 같습니다.

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/confirm_order_mail_layout"
    android:layout_width="match_parent"
    android:layout_height="fill_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/confirm_order_appbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/confirm_order_list_collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|enterAlways">

            <android.support.v7.widget.Toolbar
                android:id="@+id/confirm_order_toolbar_layout"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

            </android.support.v7.widget.Toolbar>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

나는 모든 옵션을 시도했으며 결국 CollapsingToolbarLayout그 특정 부분에서 사용할 필요가 없기 때문에 방금 제거했습니다. XML그래서 최종 XML 은 다음과 같습니다.

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/confirm_order_mail_layout"
    android:layout_width="match_parent"
    android:layout_height="fill_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/confirm_order_appbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/confirm_order_toolbar_layout"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

이제 setTitle()위의 답변과 같이 사용해야합니다 .

mActionBarToolbar = (Toolbar) findViewById(R.id.confirm_order_toolbar_layout);            
setSupportActionBar(mActionBarToolbar);
getSupportActionBar().setTitle("My Title");

당신이 사용하려는 경우 지금 CollapsingToolbarLayoutToolbar다음 함께 당신은 사용해야 setTitle()CollapsingToolbarLayout

CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.confirm_order_mail_layout);
collapsingToolbarLayout.setTitle("My Title");

도움이 될 수 있습니다. 감사합니다.


1
CollapsingToolbarLayout문제를 해결하는 것이 합리적입니다.
blueware

2
나를 위해 CollapsingToolbarLayout의 제목을 설정하는 트릭이 작동합니다. 고마워요!
mysliwiec_tech

로 자막을 변경할 수 있습니까 CollapsingToolbarLayout?
nrofis

2
툴바는 CollapsingToolbarLayout 아래에 중첩되어 있기 때문에 툴바 레이아웃 축소로 재정의됩니다. 이것은 나를 위해 작동합니다.
neilQ5

2
내 인생을 구해줘! collapsingToolbarLayout.seTitle ( "Title")을 사용하기 전에 setSupportActionbar를 둘 다 설정해야합니다.
Jacky Chong

35

간단히 당신은 사용하여 모든 acitivity 이름을 변경할 수 있습니다

Acitivityname.this.setTitle("Title NAme");

1
또는 단순히 title = "Title"Kotlin 또는 this.setTitle("Title")Java에서.
CoolMind 2012 년

33

이것을 시도하십시오, 당신은 XML로 직접 제목을 정의 할 수 있습니다 :

 <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:title="some title"
        app:popupTheme="@style/AppTheme.PopupOverlay">

당신은 어떤 생각이 있으면 가장 쉬운하지만 여전히 나는 동적으로 사용자 정의 제목에 필요
아야 살라

15

각 Navbar 조각 제목의 제목을 설정하려면

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
    myView = inflater.inflate(R.layout.second_layout, container, false);
    getActivity().setTitle("title");

    return myView;
}

12

이것을 시도하십시오 ..이 방법은 나를 위해 작동합니다 .. !! 그것이 누군가를 도울 수 있기를 바랍니다 .. !!

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

<TextView  
   android:id="@+id/toolbar_title"  
   android:layout_width="wrap_content"  
   android:layout_height="wrap_content"  
   android:gravity="center"  
   android:singleLine="true"  
   android:text="Toolbar Title"  
   android:textColor="@android:color/white"  
   android:textSize="18sp"  
   android:textStyle="bold" />  

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

툴바에 로고를 표시하려면 아래 스 니펫을 사용해보십시오. // 드로어 블 설정

toolbar.setLogo(ContextCompat.getDrawable(context, R.drawable.logo));

결과를 알려주세요.


Ragu Swaminathan에게 감사합니다. appcompact 활동에서 SupportActionBar를 구현하여 내 활동에 제목을 제공하려고했지만 BaseGameActivity를 확장해야하므로이를 수행 할 수 없습니다. 그런 다음 툴바로 이동하지만 실행 중에 제목이 표시되지 않습니다. 툴바 내에서 텍스트 상자를 사용하는 방법이 작동 중입니다. 같은 상황에있는 사람들에게 추천
Sarun1001

툴바에는 앱 로고를 설정하는 방법이 있습니다. 내 업데이트 된 대답 확인
라구 Swaminathan의

11
 getSupportActionBar().setTitle("Your Title");

2
이 답변은 스텁이며 주석 이어야합니다 . 짧은 답변은 품질이 낮은 것으로 간주 될 수 있습니다. 평판 이 충분 하면 의견을 제시 할 수 있습니다. 평판이 충분 하지 않은 경우 평판이 충분하지 않은 경우 기여 방법에 대한 이 게시물 을 읽으십시오 .
ascripter

@ascripter 답변입니다
Jemshit Iskenderov

8

https://code.google.com/p/android/issues/detail?id=77763을 참조 하십시오 . 분명히 그것은 그렇게 작동해야합니다. 당신이 전화를하면 setSupportActionBar()메소드 호출을, 그 다음이 항공사는 액션 바 위임의 책임 올바른보기로 호출입니다.


1
그 Actionbar 대리자는 무엇입니까? 여기서 setTitle ()은 지원 작업 표시 줄과 도구 모음 모두에서 작동하지 않습니다. 테마에서 기본 조치 표시 줄이 사용 불가능합니다. 도대체 무슨 일이야? 소스 코드 첨부 파일 만 Android Studio에서 작동하면 문제를 직접 추적 할 수 있습니다.
WindRider

6

조각에서 툴바의 이름을 바꾸려고했습니다.

그것은 나를 도왔습니다, 나는 다른 누군가를 돕기를 희망합니다

Activity activity = this.getActivity();
Toolbar toolbar = (Toolbar) activity.findViewById(R.id.detail_toolbar);
        if (toolbar != null) {
            activity.setTitle("Title");
        }

//toolbar.setTitle("Title"); did not give the same results

스크린 샷 : 여기에 이미지 설명을 입력하십시오


6

그것은 단지 약 아니다 .setTitle

에서 지원 도구 모음 (APPCOMPAT의 V7)의 많은 방법 onCreate단지와 작품

getSupportActionBar().method()

와 함께 작동하지 않습니다 mToolbar.method()

예 :

getSupportActionBar().setTitle("toolbar title");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

다음 방법이지만없이 잘 작동 getSupportActionBar()onCreate

mToolbar.setVisibility(View.VISIBLE);
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //
    }

단지에 문제가 onCreate이벤트, 당신은 여전히 사용할 수 있습니다 mToolbar.setTitle()나중에 대신 성가신의 getSupportActionBar().setTitle()당신이 추가 할 경우, 예를 들어, onCreate(이 나중에 실행되기 때문에 이후에, 그것은 작동합니다 onCreate)

mHandler.post(new Runnable() {
    @Override
    public void run() {
        mToolbar.setTitle("toolbar title");
    }
});

나는이 솔루션을 사용하는 것을 선호 https://stackoverflow.com/a/35430590/4548520 보다 https://stackoverflow.com/a/26506858/4548520을 당신이 (다른 기능에서) 제목 여러 번 변경하면 있기 때문에 사용하는 것이 더 편안 하나 mToolbar.setTitle()이상 getSupportActionBar().setTitle()이며 null 예외와 관련하여 성가신 알림이 표시되지 않습니다.getSupportActionBar().setTitle()


제목을 여러 번 변경하고 축소 도구 모음을 사용하려는 경우 다음과 같이 도움이됩니다. stackoverflow.com/questions/26486730/…
user1506104

6

SupportActionBar이 (@sorianiv)으로 설정 한 후 도구 모음을 통해 시간이 제목을 설정해야합니다 사람들을위한 그리고 당신의 Toolbar안에 CollapsingToolbarLayout이 읽기 :

mToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.toolbar_layout);
Toolbar toolbar = findViewById(R.id.toolbar);
//toolbar.setTitle(""); // no need to do this
//mToolbarLayout.setTitle("Title"); // if you need an initial title, do this instead
setSupportActionBar(toolbar);

그런 다음 나중에

mToolbarLayout.setTitle("New Title");

5

응용 프로그램 제목이 모든 활동에 기본 제목으로 표시되지는 않으며 모든 활동에 다른 제목을 삽입 할 수 있습니다. 활동 파일에서 onCreate는 한 줄만 붙여서 제목을 설정합니다.

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("Your Title Here");

텍스트 "Your Here Here"를 텍스트로 변경하십시오.


4

MainActivity가 AppCompactActivity 인 어댑터에서 간단히 사용하십시오. 어디서나 전화하세요.

((MainActivity) context).getSupportActionBar().setTitle(titles.get(position));

4

나는 그것을 사용하여 작동하게했다-

toolbar.post(new Runnable() {
            @Override
            public void run() {
                toolbar.setTitle("My Title");
            }
        });

1
postUI 스레드에서 제목을 변경 하는 경우 사용할 필요가 없습니다 . 90 %의 경우라고 생각합니다.
Vadim Kotov

3

CollapsibleToolbarLayout함께 사용하는 경우Toolbar 두 레이아웃 모두에서 제목을 설정해야합니다

onCreate메소드 에서 툴바를 작업 표시 줄로 설정

protected void setUpToolBar() {

    if (mToolbar != null) {
        ((HomeActivity) getActivity()).setSupportActionBar(mToolbar);
        mToolbar.setTitleTextColor(Color.WHITE);
        mToolbar.setTitle("List Detail");
        mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getActivity()
                        .getSupportFragmentManager().popBackStack();
            }
        });
        ((HomeActivity) getActivity()).getSupportActionBar()
                .setDisplayHomeAsUpEnabled(true);
    }
}

나중에 단순히 setTitle방법을 사용하여 툴바의 제목을 업데이트하십시오.

 mToolbar .setTitle(productFromShoppingList.getProductName()); 
 mCollapsingToolbar.setTitle(productFromShoppingList.getProductName());

이 솔루션은 제목을 한 번 설정할 수 있지만 그 후에는 변경할 수 없다는 것을 알게되면 작동합니다. 접기 도구 모음의 제목을 설정하고 있는지 확인하십시오.
Hylianpuffball

: 당신이 도구 모음을 붕괴와 함께 잠시 후 제목을 변경하려는 경우, 당신이 할 수있는 stackoverflow.com/questions/26486730/...
user1506104

2

이 시도:

Xml 코드

<android.support.v7.widget.Toolbar
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:id="@+id/tool_bar"
    android:background="@color/tablayout"
    android:theme="@style/ToolBarStyle"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:layout_gravity="center"
        android:id="@+id/toolbar_title"
        android:textSize="18sp"
        android:textColor="@color/white"/>
    </android.support.v7.widget.Toolbar>

자바 코드

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar = (Toolbar) findViewById(R.id.tool_bar);
    toolbar_text = (TextView)findViewById(R.id.toolbar_title);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    toolbar.setLogo(R.drawable.ic_toolbar);
}

2

툴바에서 정적 문자열을 설정하는 것이 가장 쉬운 방법은 AndroidManifest.xml에서 활동 레이블을 설정하는 것입니다.

<activity android:name=".xxxxActivity"
          android:label="@string/string_id" />

툴바는 코드없이이 문자열을 가져옵니다. (v27 라이브러리에서 작동합니다.)


2

당신을 도울 수있는 이상한 행동이 있습니다.
이것은 작동하지만 onCreate에만 영향을 미치지 않습니다.

toolbar.setTitle("title");

onCreate에서 이것을 사용해보십시오 :

yourActivityName.this.setTitle("title")

2

각기 다른 활동의 제목을 변경하려면

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pizza);
    setTitle(getResources().getText(R.string.title));
}

setTitle (R.string.title); 이벤트가 쉬워 지지만 작동하지 않음
toshkinl

2
 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       //custom toolbaar
       getSupportActionBar().setTitle("Abhijeet");

    }
}

1

이 특정 설정과 즉시 관련이 없지만 AppBarLayout 내부에 툴바를 배치하고있는 XML에서 "CollapsingToolbarLayout"을 제거하면 모든 것이 작동하는 것으로 나타났습니다.

그래서 이거:

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

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_height="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways"
                app:navigationIcon="@drawable/ic_arrow_back_white_24dp" />

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

이 대신에 :

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

            <android.support.design.widget.CollapsingToolbarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/collapsingToolbar"
                android:minHeight="?attr/actionBarSize"
                app:layout_scrollFlags="enterAlways|scroll|snap">

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_height="?attr/actionBarSize"
                    app:navigationIcon="@drawable/ic_arrow_back_white_24dp" />
            </android.support.design.widget.CollapsingToolbarLayout>

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

그런 다음 setSupportActionBar ()가 호출되기 전에 활동의 onCreate에 제목을 설정했습니다.


당신은 그렇게 할 수 있습니다. 축소 도구 모음 레이아웃이 정말로 필요한 경우이를 확인하십시오. stackoverflow.com/questions/26486730/…
user1506104

@ Chantell Osejo 이것은 나에게도 효과가 있었고 심지어 동일한 레이아웃을 사용하고있었습니다. 감사합니다
Paramjit Singh Rana

1

파일 android:label에서 활동 속성을 설정하여 수행 할 수 있습니다 AndroidManifest.xml.

<activity android:name="my activity"
 android:label="The Title I'd like to display" />

그런 다음이 줄을 onCreate ()에 추가하십시오.

getSupportActionBar().setDisplayShowTitleEnabled(true);

0

이 옵션을 추가하십시오 :

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE);

0

답은 설명서에 있습니다 ( 여기에서 찾을 수 있음 ).

ActionBar 유틸리티 메소드를 사용하려면 활동의 getSupportActionBar () 메소드를 호출하십시오. 이 메소드는 appcompat ActionBar 오브젝트에 대한 참조를 리턴합니다. 참조가 있으면 ActionBar 메서드를 호출하여 앱 바를 조정할 수 있습니다. 예를 들어 앱 바를 숨기려면 ActionBar.hide ()를 호출하십시오.

이것이 실제로 찾은 솔루션입니다. 공식 문서 (참조는 거의 읽지 않는 경향이 있음)에 대한 참조를 생각했습니다.


0

Kotlin에서는 다음을 수행 할 수 있습니다.

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar

class SettingsActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_settings)

        val toolbar = findViewById<Toolbar>(R.id.toolbar)
        setSupportActionBar(toolbar)
        supportActionBar?.setDisplayHomeAsUpEnabled(true)
        supportActionBar?.setTitle(R.string.title)

    }

    override fun onSupportNavigateUp() = true.also { onBackPressed() }

}

-2

툴바와 ActionBar를 모두 사용하기 때문에 발생합니다. 툴바를 액션 바로 사용하려면 가장 먼저해야 할 일은 데코 제공 액션 바를 비활성화하는 것입니다.

가장 쉬운 방법은 테마를에서 확장하는 것 Theme.AppCompat.NoActionBar입니다.


질문을 잘못 이해해서 죄송합니다.
Haresh Chhelana

1
@HareshChhelana 답변을 게시했지만 문제가 정확히 무엇인지 알고 있습니까?
Paresh Mayani

나는 그런 행동을 취한 관련 행동 모음 세트 타일 문제라고 생각하며, 나를 깨달았을 때 나는 내 행동을 삭제 했으므로 이제는 오해에 대해 걱정하지 않아도됩니다.
Haresh Chhelana

1
@PareshMayani 귀하의 답변에 감사드립니다,하지만 내 문제를 해결하지 못합니다. 업데이트 된 질문을 확인하십시오
krossovochkin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.