programing tip

Android : ActionBar“홈”아이콘을 앱 아이콘 이외의 것으로 변경하는 방법은 무엇입니까?

itbloger 2020. 7. 28. 08:01
반응형

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

참고URL : https://stackoverflow.com/questions/6351479/android-how-to-change-the-actionbar-home-icon-to-be-something-other-than-the

반응형