IT story

안드로이드 액션 바 제목과 아이콘을 변경하는 방법

hot-time 2020. 4. 26. 21:07
반응형

안드로이드 액션 바 제목과 아이콘을 변경하는 방법


Android의 ActionBar에서 몇 가지 작업을 수행하려고합니다.

작업 표시 줄의 오른쪽에 이미 새 항목을 추가했습니다.

작업 표시 줄의 왼쪽을 어떻게 변경합니까? 아이콘과 텍스트를 변경하고 다른 화면의 작업 표시 줄에 "뒤로 단추"를 추가하고 싶습니다

안드로이드 액션 바


이것은 매우 간단합니다

코드에서 변경하려면 다음을 호출하십시오.

setTitle("My new title");
getActionBar().setIcon(R.drawable.my_icon);

그리고 원하는대로 값을 설정하십시오.

또는 Android 매니페스트 XML 파일에서 :

<activity android:name=".MyActivity" 
       android:icon="@drawable/my_icon" 
       android:label="My new title" />  

앱에서 뒤로 버튼을 사용하려면 다음을 사용하십시오.

 getActionBar().setHomeButtonEnabled(true);
 getActionBar().setDisplayHomeAsUpEnabled(true);

onCreate레이블 / 아이콘 변경이 사용자에게 투명하도록 코드를 모두 배치해야 하지만 실제로는 활동의 수명주기 동안 어디에서나 호출 할 수 있습니다.


모든 작업 표시 줄에서 단일 아이콘을 사용할 수 있도록하려면 Android Manifest에서이 작업을 수행 할 수 있습니다.

<application
    android:logo="@drawable/Image">

    ...

</application>

이 3 줄의 코드 만 추가하면됩니다. 아이콘을 자신의 아이콘으로 바꿉니다. 아이콘을 생성하려면 이것을 사용 하십시오

getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);

Android 5.0 재질 디자인 지침에서는 actionBar에서 아이콘 사용을 권장하지 않습니다.

다음 코드를 추가 할 수 있도록

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);

크레딧은이 기사의 저자에게갑니다


액션 바 제목을 변경하려면 액티비티의 onCreate ()에 다음 1 줄 코드를 지정하십시오.

getActionBar().setTitle("Test");

각각의 드로어 블 폴더에 원하는 아이콘을 추가 한 다음 AndroidManifest.xml 파일에서이 줄을 변경하여 아이콘을 변경할 수 있습니다.

android:icon="@drawable/ic_launcher"

아이콘 이름이 무엇이든 일치합니다. 또는 동일한 아이콘 인 경우 아이콘을 ic_launcher로 설정하십시오. 내용에 대해서는 res / values ​​/ strings.xml 파일에서 일치하는 문자열을 추가하거나 변경하십시오. 그런 다음 AndroidManifest.xml 파일에서 다시이 행을 변경하십시오.

android:label="@string/app_name"

당신이 그들의 문자열에 무엇이든. 응용 프로그램 전체와 원하는 활동에 대해이 작업을 수행해야하지만 선은 동일합니다.

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


이를 위해 XML 또는 Java의 두 가지 방법으로 수행 할 수 있습니다. 여기를 참조하십시오 : 작업 표시 줄의 텍스트를 변경하는 방법

그래서:

XML :

<activity android:name=".Hello_World"
              android:label="This is the Hello World Application">
</activity>

자바:

public class TitleBar extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

       setContentView(R.layout.main);


       if ( customTitleSupported ) {
           getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
           }

       final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
       if ( myTitleText != null ) {
           myTitleText.setText("NEW TITLE");

           // user can also set color using "Color" and then "Color value constant"
          // myTitleText.setBackgroundColor(Color.GREEN);
       }
 }
}

ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(getString(R.string.titolo));
actionBar.setIcon(R.mipmap.ic_launcher);
actionBar.setDisplayShowHomeEnabled(true);

제목 설정 :

getActionBar().setTitle("Title");

아이콘 설정 :

getActionBar().setIcon(R.drawable.YOUR_ICON_NAME);

나는 안에 다음과 같은 호출을 사용했다 onNavigationItemSelected:

HomeActivity.this.setTitle(item.getTitle());

활동의 onCreate 함수 안에 아래 코드를 추가하십시오.

setTitle("NewName");

이것은 나를 위해 작동합니다 :

getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeAsUpIndicator(R.mipmap.baseline_dehaze_white_24);

작업 표시 줄 제목은 기본적으로 현재 활동의 레이블을 사용하지만을 통해 프로그래밍 방식으로 설정할 수도 있습니다 ActionBar.setTitle().

말하는 "뒤로"(보다 정확하게 "위로") 버튼 기능을 구현하려면 작업 표시 줄 개발자 안내서 의 "탐색에 앱 아이콘 사용"섹션을 읽으십시오 .

마지막으로, 아이콘을 변경하기 위해 가이드에서도 그 내용을 다룹니다. 즉, 작업 표시 줄에 android:icon매니페스트 application또는 activity요소 제공된 이미지가있는 경우 이미지가 표시됩니다 . 일반적인 방법은이라는 응용 프로그램 아이콘 (필요한 모든 밀도로)을 만들어 디렉토리에 ic_launcher.png배치하는 것입니다 drawable-*.


정적 PlaceholderFragment 클래스에서 non-static method setTitle(CharSequence) cannot be referenced from a static context사용했기 때문에 오류 발생했습니다 setTitle(). 나는 그것을 사용하여 그것을 해결했다.getActivity().getActionBar().setTitle("new title");


특정 활동을 변경하려는 매니페스트로 이동하여 작업 표시 줄 제목 이름을 작성하고 android : label = "Title name"을 작성하십시오.


AndroidManifest.xml 파일로 이동 하십시오. <application>태그 찾기 거기에서 속성을 볼 수 있습니다

android:label="@string/app_name"

이제 res> values> strings.xml로 이동하십시오.

변경

<string name="app_name">MainActivity</string> 

<string name="app_name">Your Desired Name</string>

AndroidManifest.xml

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SubmitForm">

        </activity>
    </application>

strings.xml

<resources>
    <string name="app_name">Your Desired Name</string>
    <string name="action_settings">Settings</string>
</resources>

참고 URL : https://stackoverflow.com/questions/14483393/how-do-i-change-the-android-actionbar-title-and-icon

반응형