gpt4 book ai didi

android - 填充操作栏 "up"指示器图像

转载 作者:IT老高 更新时间:2023-10-28 23:38:59 25 4
gpt4 key购买 nike

我正在寻找一种方法来设置 ActionBar 的“向上”图标的样式,当您将其配置为从您的 Activity 中显示时显示该图标:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

我一直在环顾四周,找到了一种在主页图标和标题之间添加填充的方法 (Padding between ActionBar's home icon and title),但没有找到一种在主页图标和向上指示图标之间添加填充的方法。

我在 android 源代码中挖掘了 ActionBarView.HomeView,它似乎通过这个调用夸大了向上指示器:

mUpView = findViewById(com.android.internal.R.id.up);

问题是 com.android.internal.R.id.up 是内部的,所以我无法访问它,因此上述用于填充主页图标的链接解决方案将不起作用。理想情况下,我想覆盖 ActionBarView.HomeView,但它在 ActionBarView 中是私有(private)的。

有谁知道 ActionBarSherlock 是否提供了一个很好的方法来覆盖这种行为?我已经考虑过提供自定义主页布局,但我发现的线程表明,偏离标准的 android 类并不是一个好主意。

有什么想法吗?

最佳答案

此解决方案可行

ImageView view = (ImageView)findViewById(android.R.id.home);
view.setPadding(10, 0, 0, 0);

但是,您将被迫将此代码放在父 Activity 中,或者在您想要将填充添加到主页按钮的每个 Activity 中。

我建议这种方法:

  1. 使用以下代码创建可绘制图层列表:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
    <bitmap
    android:antialias="true"
    android:gravity="center"
    android:src="@drawable/btn_back_actionbar_normal" />
    </item>
    <item>
    <shape android:shape="rectangle" >
    <size android:width="24dp" />
    <solid android:color="@android:color/transparent" />
    </shape>
    </item>
    </layer-list>
  2. 在你的样式中添加:

对于值 11:

<item name="android:homeAsUpIndicator">@drawable/actionbar_back_selector</item>

对于值:

<item name="homeAsUpIndicator">@drawable/actionbar_back_selector</item>

这样您将在返回按钮和兼容操作栏中的主页按钮之间添加一个填充,并且您只需添加一次此代码,即可在整个应用程序中使用!

关于android - 填充操作栏 "up"指示器图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10706975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com