programing

Android의 작업 표시줄에서 아이콘/로고 제거

muds 2023. 11. 2. 22:08
반응형

Android의 작업 표시줄에서 아이콘/로고 제거

작업 표시줄에서 아이콘/로고를 제거할 방법을 찾으려고 했지만 SO, Android 문서 및 Google을 한 시간 동안 검색한 결과 제목 표시줄을 전체적으로 제거하는 방법만 발견되었습니다.그것은 제가 원하는 것이 아닙니다.제목 표시줄에서 아이콘/로고만 제거하려고 합니다.

이것을 달성하는 방법을 아는 사람?가급적 XML로 하고 싶습니다.

수행 표시줄 스타일에 다음 코드를 추가합니다.

<item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
<item name="displayOptions">showHome|homeAsUp|showTitle</item>
<item name="android:icon">@android:color/transparent</item> <!-- This does the magic! -->

추신: 저는 액션바 셜록을 사용하고 있고 이는 잘 작동합니다.

특정 활동에서 아이콘을 원하지 않는 경우.

getActionBar().setIcon(
   new ColorDrawable(getResources().getColor(android.R.color.transparent)));    

정의하셨다면android:logo="..."에서<application>당신의 꼬리표AndroidManifest.xml, 아이콘을 숨기려면 다음 항목을 사용해야 합니다.

v11 이전 테마

<item name="logo">@android:color/transparent</item>

v11 이상 테마

<item name="android:logo">@android:color/transparent</item>

이 두 가지 스타일을 사용하면 2.3 및 4.4 장치(이 앱은 AppCompat을 사용함)의 액션 바 아이콘이 적절하게 숨겨져 있습니다.

이거 나한테 통했어요.

getActionBar().setDisplayShowHomeEnabled(false);

부르기

mActionBar.setDisplayHomeAsUpEnabled(true);

에 더하여,

mActionBar.setDisplayShowHomeEnabled(false);

로고는 숨기지만 Home As Up 아이콘은 표시됩니다.:)

다음 사항을 유의하십시오.

<item name="android:icon">@android:color/transparent</item>

옵션 항목도 투명하게 표시합니다.

    //disable application icon from ActionBar
    getActionBar().setDisplayShowHomeEnabled(false);

    //disable application name from ActionBar
    getActionBar().setDisplayShowTitleEnabled(false);
getActionBar().setIcon(android.R.color.transparent);

저는 이게 통했어요.

다음을 사용하여 제목을 제거하거나 표시합니다.

getActionBar().setDisplayShowTitleEnabled(true);

다음을 사용하여 로고를 제거하거나 표시합니다.

getActionBar().setDisplayUseLogoEnabled(false);

모두 제거:

getActionBar().setDisplayShowHomeEnabled(false);

AndroidManifest.xml에서 아래 코드를 추가할 수도 있습니다.

android:icon="@android:color/transparent"

잘 될 겁니다.

하지만 이것은 런처 아이콘도 투명해지면서 문제가 생긴다는 것을 알았습니다.

그래서 다음을 사용했습니다.

getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));

그리고 잘 작동했습니다.

그러나 두 개 이상의 활동이 있고 활동의 아이콘을 투명하게 만들고 싶다면 이전의 접근 방식이 효과적입니다.

이걸 사용해봤는데 효과가 있었어요.

        getActionBar().setIcon(
        new ColorDrawable(getResources().getColor(android.R.color.transparent)));
getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));
getActionBar().setDisplayHomeAsUpEnabled(true);

정확한 답은: api 11 이상일 경우:

getActionBar().setDisplayShowHomeEnabled(false);

그렇지 않은 경우:

getSupportActionBar().setDisplayShowHomeEnabled(false);

(지원 라이브러리가 필요하기 때문입니다.)

매니페스트로 이동하고 응용프로그램 태그를 찾습니다.

  android:icon="@android:color/transparent"// simply add this on place of your icon

..... ... ...

Qiqi Abaziz의 답변은 괜찮지만 그래도 호환팩으로 작동시키고 정확한 요소에 스타일을 적용하기 위해 오랫동안 고심했습니다.또한, 투명 해킹은 불필요합니다.다음은 v8 이상에서 작동하는 완전한 예입니다.

values\styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyActivityTheme" parent="@style/Theme.AppCompat">
        <item name="actionBarStyle">@style/NoLogoActionBar</item> <!-- pre-v11-compatibility -->
        <item name="android:actionBarStyle">@style/NoLogoActionBar</item>
    </style>
    <style name="NoLogoActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="displayOptions">showHome</item> <!-- pre-v11-compatibility -->
        <item name="android:displayOptions">showHome</item>
    </style>
</resources>

Android Manifest.xml(쉘)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">   
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19"/>
    <application android:theme="@android:style/Theme.Light.NoTitleBar">
        <activity android:theme="@style/PentActivityTheme"/>
    </application>
</manifest>

매니페스트에 들어가 활동을 찾은 다음 다음 코드를 추가합니다.

android:theme="@android:style/Theme.NoTitleBar"

위 라인은 당신의 것을 숨깁니다.Actionbar.

다른 기능이 필요한 경우 (CLR + SPC)로 다른 옵션을 볼 수 있습니다.

Manifest.xml을 수정하는 것이 가장 빠른 방법입니다.예를 들어, "Activity" 활동의 로고를 제거하고 다른 활동에 로고를 남기려는 경우, 다음을 수행할 수 있습니다.

<activity
      android:name=".home.XActivity"
      android:logo="@android:color/transparent"
      android:configChanges="orientation|keyboardHidden" />
 <activity
      android:name=".home.HomeActivity"
      android:configChanges="orientation|keyboardHidden" />

위의 어떤 것도 효과가 없었습니다.

하지만 이것이 효과가 있었습니다.

override fun onCreate() {
    setContentView(R.layout.activity_main)

    setSupportActionBar(toolbar)
    toolbar.logo = null

(도구 모음에서 아이콘 removed)

언급URL : https://stackoverflow.com/questions/14606294/remove-icon-logo-from-action-bar-on-android

반응형