Android : ActionBar“홈”아이콘을 앱 아이콘 이외의 것으로 변경하는 방법은 무엇입니까?
내 응용 프로그램의 기본 아이콘은 하나의 이미지에서 두 부분으로 구성됩니다 : 로고와 그 아래 몇 글자. 앱의 실행기 아이콘에는 잘 작동하지만 ActionBar의 왼쪽 가장자리에 아이콘이 표시되면 글자가 잘리고 잘 보이지 않습니다.
ActionBar에 별도의 버전의 아이콘을 제공하고 싶습니다. "logo"부분 만 있고 그 아래 문자는 없지만 지금까지는 비어있었습니다. 솔직히 이것에 대한 답을 찾을 수 없으며 질문 자체를 어디에서도 찾을 수 없습니다.
ActionBar는 매니페스트 의 android : logo 속성 (제공된 경우) 을 사용합니다 . 이를 통해 아이콘 (Launcher)과 로고 (ActionBar 등)에 별도의 드로어 블 리소스를 사용할 수 있습니다.
AndroidManifest.xml에서 :
<application
android:icon="@drawable/launcher"
android:label="@string/app_name"
android:name="com..."
android:theme="@style/Theme">...</Application>
styles.xml에서 : (참조 android:icon
)
<style name="Theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:icon">@drawable/icon</item>
</style>
이 라인을 시도하십시오
getSupportActionBar().setHomeAsUpIndicator(R.drawable.back_arrow);
AppCompat를 사용하는 경우 Gingerbread (API 10) 이하를 실행하는 기기에서 ActionBar 아이콘을 설정하는 유일한 방법은 매니페스트의 모든 활동에서 android : icon 속성을 설정하거나 드로어 블을 프로그래밍 방식으로 설정하는 것입니다.
<manifest>
<application>
...
<activity android:name="com.your.ActivityName"
...
android:icon="@drawable/ab_logo"/>
...
</application>
</manifest>
업데이트 : 시작 활동에서 android : icon 속성을 설정하면 응용 프로그램 아이콘이 무시된다는 경고가 표시됩니다. 내가 아는 유일한 해결책은 스플래시 또는 더미 활동을하고 주 활동을 시작하는 것입니다.
TheIT에서 영감을 얻어 매니페스트 파일을 조작하지만 약간 다른 방식으로 작동하도록했습니다. 대부분의 활동이 아이콘을 갖도록 응용 프로그램 설정에서 아이콘을 설정하십시오. 로고를 표시하려는 활동에서 활동 선언에 android : logo 속성을 추가하십시오. 다음 예제에서는 LogoActivity에만 로고가 있어야하고 다른 것들은 기본적으로 아이콘입니다.
<application
android:name="com.your.app"
android:icon="@drawable/your_icon"
android:label="@string/app_name">
<activity
android:name="com.your.app.LogoActivity"
android:logo="@drawable/your_logo"
android:label="Logo Activity" >
<activity
android:name="com.your.app.IconActivity1"
android:label="Icon Activity 1" >
<activity
android:name="com.your.app.IconActivity2"
android:label="Icon Activity 2" >
</application>
이것이 다른 누군가를 돕기를 바랍니다!
로고 만들기
drawable-...
모든 폴더에 " " 폴더를 만듭니다 logo.png
. 폴더의 위치 :[YOUR APP]\app\src\main\res
AndroidManifest.xml에서 행을 추가하십시오. android:logo="@drawable/logo"
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:logo="@drawable/logo"
...
그게 다야.
"AppCompatActivity 확장"을 사용하고 작업 표시 줄을 표시하는 경우 시도하십시오.
ActionBar eksinbar=getSupportActionBar();
if (eksinbar != null) {
eksinbar.setDisplayHomeAsUpEnabled(true);
eksinbar.setHomeAsUpIndicator(R.mipmap.imagexxx);
}
이것을 확인하고 싶을 수도 있고 앱 아이콘에 필요한 모든 것을 얻었습니다.
http://developer.android.com/guide/practices/ui_guidelines/icon_design.html
최신 정보
I think by default it uses your launcher icon... Your best bet is to create a separate image... Designed for the action bar and using that. For that check: http://developer.android.com/guide/topics/ui/actionbar.html#ActionItems
'programing tip' 카테고리의 다른 글
BroadcastReceiver.onReceive는 항상 UI 스레드에서 실행됩니까? (0) | 2020.07.28 |
---|---|
OpenSSL을 사용하여 공개 키를 추출하는 방법은 무엇입니까? (0) | 2020.07.28 |
XSLT는 그만한 가치가 있습니까? (0) | 2020.07.28 |
Gacutil.exe은 (는) 무엇 이죠? (0) | 2020.07.27 |
rvm pkg install zlib를 사용한 후에도 해당 파일을로드 할 수 없습니다. (0) | 2020.07.27 |