작업 표시 줄에서 아이콘 / 로고를 제거하는 방법을 찾으려고 노력했지만 SO, Android 설명서 및 Google을 검색 한 시간 후에 찾은 유일한 것은 제목 표시 줄을 완전히 제거하는 방법입니다. 그것은 내가 원하는 것이 아닙니다. 제목 표시 줄에서 아이콘 / 로고 만 제거하고 싶습니다.
아무도 이것을 달성하는 방법을 알고 있습니까? 바람직하게는 XML로 이것을하고 싶습니다 .
작업 표시 줄에서 아이콘 / 로고를 제거하는 방법을 찾으려고 노력했지만 SO, Android 설명서 및 Google을 검색 한 시간 후에 찾은 유일한 것은 제목 표시 줄을 완전히 제거하는 방법입니다. 그것은 내가 원하는 것이 아닙니다. 제목 표시 줄에서 아이콘 / 로고 만 제거하고 싶습니다.
아무도 이것을 달성하는 방법을 알고 있습니까? 바람직하게는 XML로 이것을하고 싶습니다 .
답변:
android:logo="..."
의 <application>
태그에 정의한 경우 AndroidManifest.xml
다음 항목을 사용하여 아이콘을 숨겨야합니다.
<item name="logo">@android:color/transparent</item>
<item name="android:logo">@android:color/transparent</item>
이 두 가지 스타일을 사용하면 2.3 및 4.4 장치의 작업 표시 줄 아이콘이 제대로 숨겨 졌습니다 (이 응용 프로그램은 AppCompat 사용 ).
<application (...) android:logo="@android:color/transparent"> (...)
내 설정 AndroidManifest.xml
과 같은 스타일로 강제 useLogo
하는 displayOptions
것입니다 <item name="android:displayOptions">showHome|useLogo|homeAsUp|showTitle</item> <item name="displayOptions">showHome|useLogo|homeAsUp|showTitle</item>
. 이 마지막 부분은 일부 장치 (대부분 롤리팝 이후 대부분의 롤리팝이라고 생각합니다)에서 중요합니다. 손상된 검색 뷰가 appIcon을 가져 와서 로고 대신 투명하게 설정 한 경우에도 로고 대신 사용했습니다 : s
작업 표시 줄 스타일에 다음 코드를 추가하십시오.
<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! -->
추신 : Actionbar Sherlock을 사용하고 있으며 정상적으로 작동합니다.
@android:color/transparent
는 BLACK으로 표시 됩니다. 미친 것처럼 보이지만 많은 기기 제조업체가 Android의 기본 설정을 재정의합니다. 색깔을 포함하여. 이 때문에 colors.xml에 다음과 같이 색상을 만들고 <color name="transparent">#00000000</color>
Android에서 값을 얻는 대신 참조합니다.
특정 활동에서 아이콘을 원하지 않는 경우.
getActionBar().setIcon(
new ColorDrawable(getResources().getColor(android.R.color.transparent)));
ColorDrawable cd = new ColorDrawable(getResources().getColor(android.R.color.transparent)); cd.setBounds(0,0,0,0); getActionBar().setIcon(cd);
경계를 설정하지 않고, 투명 아이콘은 여전히 공간까지 사용
setLogo
에는 setIcon
방법 대신 사용해야 했습니다 . 아직도, 좋은 팁, 나를 올바른 길로 데려 갔다!!
이것은 나를 위해 일했다
getActionBar().setDisplayShowHomeEnabled(false);
부름
mActionBar.setDisplayHomeAsUpEnabled(true);
이외에도
mActionBar.setDisplayShowHomeEnabled(false);
로고는 숨겨 지지만 Home As Up 아이콘이 표시됩니다. :)
//disable application icon from ActionBar
getActionBar().setDisplayShowHomeEnabled(false);
//disable application name from ActionBar
getActionBar().setDisplayShowTitleEnabled(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);
매니페스트로 이동하여 응용 프로그램 태그를 찾으십시오.
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>
AndroidManifest.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>
가장 빠른 방법은 Manifest.xml을 수정하는 것입니다. 예를 들어 활동 "활동"의 로고를 제거하고 다른 활동에 로고를 남겨 두려면 다음을 수행 할 수 있습니다.
<activity
android:name=".home.XActivity"
android:logo="@android:color/transparent"
android:configChanges="orientation|keyboardHidden" />
<activity
android:name=".home.HomeActivity"
android:configChanges="orientation|keyboardHidden" />