Phi*_*uth 113 android android-3.0-honeycomb android-actionbar
我的应用程序的主图标由一个图像中的两个部分组成:徽标和下面的几个字母.这适用于应用程序的启动器图标,但当图标出现在ActionBar的左边缘时,字母会被切断并且看起来不太好.
我想为ActionBar提供一个单独的图标版本,只有"徽标"部分,而不是它下面的字母,但到目前为止一直是空的.老实说,我找不到任何答案,我甚至无法在任何地方找到问题.
Joe*_*Joe 218
如果提供了清单,ActionBar将使用清单的android:logo属性.这使您可以为图标(Launcher)和徽标(ActionBar等)使用单独的可绘制资源.
Ali*_*aka 48
在AndroidManifest.xml中:
<application
android:icon="@drawable/launcher"
android:label="@string/app_name"
android:name="com..."
android:theme="@style/Theme">...</Application>
Run Code Online (Sandbox Code Playgroud)
在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>
Run Code Online (Sandbox Code Playgroud)
The*_*mer 15
请试试这一行
getSupportActionBar().setHomeAsUpIndicator(R.drawable.back_arrow);
Run Code Online (Sandbox Code Playgroud)
如果您正在使用AppCompat,在运行Gingerbread(API 10)或更低版本的设备上设置ActionBar图标的唯一方法是在清单中的每个Activity中设置android:icon属性或以编程方式设置drawable.
<manifest>
<application>
...
<activity android:name="com.your.ActivityName"
...
android:icon="@drawable/ab_logo"/>
...
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
更新:请注意,如果在启动活动上设置了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>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助其他人!
小智 6
请尝试,如果使用“扩展 AppCompatActivity”并显示操作栏。
ActionBar eksinbar=getSupportActionBar();
if (eksinbar != null) {
eksinbar.setDisplayHomeAsUpEnabled(true);
eksinbar.setHomeAsUpIndicator(R.mipmap.imagexxx);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
153967 次 |
| 最近记录: |