操作栏徽标左内边距

2024-02-13

操作栏在徽标左侧显示一个空格。我认为这个空间是为upindicator保留的。

例如,我想给这个空间指定 20dp 的距离。

我怎样才能做到这一点?

我可以将图标的内边距设置为 0,但这不会消除徽标和屏幕左侧之间的空间。

我尝试通过使用自定义布局来解决它。但有一个小问题。每次启动活动时,首先会出现正常的操作栏,然后显示自定义布局。

这就是我显示自定义视图的方式:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_custom);
        // Set up the action bar.
        final ActionBar actionBar = getActionBar();
        //set custom actionbar
        actionBar.setDisplayShowCustomEnabled(true);
        actionBar.setCustomView(R.layout.actionbar);
        //Displays the custom design in the actionbar
        actionBar.setDisplayUseLogoEnabled(false);
        actionBar.setDisplayHomeAsUpEnabled(false);
        actionBar.setDisplayShowHomeEnabled(false);
        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    }

这是在我的 styles.xml 中:

        <!--Customize the actionbar-->
        <item name="android:windowActionBarOverlay">false</item>
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionButtonStyle">@style/MyActionButton</item>

    </style>

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@color/green2</item>
        <item name="android:icon">@drawable/app_icon_small</item>
        <!-- Support library compatibility -->

    </style>

    <style name="MyActionButton" parent="@android:style/Widget.Holo.Light.ActionButton">
        <item name="android:paddingRight">@dimen/padding_border</item>
        <item name="android:paddingLeft">@dimen/padding_border</item>
        <item name="android:src">@drawable/icon_plus</item>
        <!--<item name="android:minWidth">0dp</item>-->
        <!--<item name="android:paddingLeft">0dp</item>-->
        <!--<item name="android:paddingRight">15dp</item>-->
        <!-- Support library compatibility -->
    </style>

这是自定义视图的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:background="@color/green2">
    <ImageView
        android:id="@+id/header"
        android:contentDescription="@string/app_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="@dimen/padding_border"
        android:paddingRight="@dimen/padding_border"
        android:src="@drawable/app_icon_small"/>

    <EditText
        android:id="@+id/et_actionbar_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="YOLO"
        android:gravity ="center"
        android:textColor="@android:color/black"
        android:textStyle="bold"
        android:background="@android:color/transparent"
        />
</LinearLayout>

您可以在文件夹 /res/drawable 中创建 xml 文件(your_xml_file),如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:drawable="@drawable/menu_button"
        android:right="20dp"/>


</layer-list>

并将其添加到代码中:

<activity android:name=...
            android:logo="@drawable/your_xml_file" >
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作栏徽标左内边距 的相关文章

随机推荐

  • Hibernate 搜索问题 - 无法初始化代理 - 没有会话

    使用休眠添加新记录时出现以下异常 我还使用 Hibernate 搜索来创建索引 这是我的例外 Jun 11 2009 1 01 23 PM org hibernate LazyInitializationException
  • C# 中的垃圾收集未执行。为什么?

    我尝试了一个简单的实验来验证垃圾收集器的功能 参考文献3 9 自动内存管理 https msdn microsoft com en us library aa691138 28v vs 71 29 aspx MSDN 关于自动内存管理 NE
  • 从 UIWebView 中清除凭据

    我在这里所做的是获取具有身份验证的 URL 因此 我使用该功能 void connection NSURLConnection connection didReceiveAuthenticationChallenge NSURLAuthen
  • 使用 Flutter 在谷歌地图中添加标记

    我已经成功在我的 flutter 应用程序中创建了一个谷歌地图 并且我能够显示我的位置以及使用纬度和经度的标记 有谁知道如何为谷歌地图中已存在的企业创建标记 我应该向标记传递什么来识别已经在谷歌地图中的企业 谢谢 您可以使用地点搜索 htt
  • 如何使用 ssh 在 Heroku 上保持日志尾部处于活动状态?

    Using heroku logs tail这几分钟效果很好 然后它停止显示日志 看来 ssh 连接超时并终止 没有错误或消息 在 Ubuntu 11 04 中使用有线连接 我将以下内容添加到 ssh config 中 ServerAliv
  • 绘制逻辑回归的决策边界

    我正在尝试实施逻辑回归 我已将特征映射到 x1 2 x2 0 x1 1 x2 1 形式的多项式 现在我想绘制相同的决策边界 经历了这一切之后answer https stackoverflow com a 22356551 1783688我
  • SQL 查询游程长度或连续相同值编码

    我的目标是获取一组按顺序排序的数据id并返回一个结果集 该结果集指示连续行数val列是相同的 例如 鉴于此数据 id val 1 33 2 33 3 44 4 28 5 44 6 44 我想看到这个结果 id val run length
  • 多页 tiff 的简单 WPF 页面选择

    我正在制作一个基本的 Tiff 查看器 需要能够选择要查看的页面 在 Winforms 中 我可以使用 selectActiveFrame 所以我想知道是否有一个与此等效的 WPF 谢谢 编辑 在winforms中 我在selectActi
  • 如何使用boto读取S3上的二进制文件?

    我在 S3 文件夹 私人部分 中有一系列 Python 脚本 Excel 文件 如果它们是公开的 我可以通过 HTTP URL 读取访问它们 想知道如何以二进制方式访问它们以执行它们 FileURL URL of the File host
  • Android Phonegap:$.ajax 不会触发未经授权的回调(401)

    我正在使用 PhoneGap 构建 Android 应用程序 使用 jQuery 或 Zepto 我可以使用 ajax 调用来调用网站 API 然而 当网站返回 401 未经授权 响应时 ajax 调用似乎没有回调 没有调用 成功 错误 或
  • 在 Angular 的 Bower 组件中包含 html 模板

    我正在为我的角度应用程序制作一些可重用的指令 方法是将它们放入单独的 Bower 组件中 我想使用 templateUrl 作为指令 这样我就不会被迫执行本文中的三个选项之一 如何在我的 Angular 指令 Bower 包中使用单独的模板
  • SQL Server 条件 JOIN 语句

    是否可以执行以下操作 IF a 1234 THEN JOIN ON TableA ELSE JOIN ON TableB 如果是这样 正确的语法是什么 我认为您所要求的通过加入Initial两个表Option A and Option B
  • 如何准确读取一行?

    我有一个 Linux 文件描述符 来自套接字 我想读取一行 如何在 C 中做到这一点 如果您正在从 TCP 套接字读取数据 您无法假设何时到达行尾 因此你需要这样的东西 std string line char buf 1024 int n
  • 如何以编程方式向 iOS 地址簿添加“自定义标签”?

    在 iOS 地址簿中手动添加联系人的电话 IMS 时 您可以添加自定义标签 而不是 家庭 工作 其他 在 IMS 中 如何以编程方式在AddressBook中创建 自定义标签 我也有同样的问题 我找不到答案 所以我只是尝试猜测和检查方法 以
  • 获取matlab中fit函数的函数句柄并分配fit参数

    我正在将自定义函数拟合到我的数据中 获得拟合后 我想获得类似拟合函数的函数句柄之类的东西 包括设置为拟合找到的参数的参数 我知道我可以得到模型 formula fit 我可以通过以下方式获取参数 coeffvalues fit 但有没有什么
  • 为每个文件调用 Inno Setup AfterInstall 函数

    我想在安装文件夹后调用一个函数 但是InstallEnv函数似乎被调用了几次 也许每个文件都是文件夹 待确认 有没有办法在安装所有这些文件后只调用一次 我无法使用Run部分 因为我想用返回代码进行错误捕获 Source InputFiles
  • 使用 useRef 响应滚动导航

    我正在尝试制作一个单页应用程序 您单击链接 它会向下滚动到与菜单项对应的部分 我花了几天时间研究适合我标准的修复方案 不幸的是 我运气不佳 我的标准如下 无外部依赖 地址栏中必须包含 URL 以允许直接链接到特定部分 不能是 hacky 即
  • 关于默认捕获模式和 C++ lambda 表达式中的“this”的限制

    我想知道为什么 捕获默认值模式禁止this in 捕获列表 of C 拉姆达表达式 That is this error this OK 这是由 C 11 5 1 2 8 指定的 如果 lambda capture 包含捕获默认值 则 la
  • Firebase Functions 1.0.0 迁移:使用 Google 服务帐户凭据自定义initializeApp() 时出现问题

    我刚刚从 beta v0 9 1 更新到 v1 0 0 并遇到了一些初始化问题 根据迁移指南 https firebase google com docs functions beta v1 diff new initialization
  • 操作栏徽标左内边距

    操作栏在徽标左侧显示一个空格 我认为这个空间是为upindicator保留的 例如 我想给这个空间指定 20dp 的距离 我怎样才能做到这一点 我可以将图标的内边距设置为 0 但这不会消除徽标和屏幕左侧之间的空间 我尝试通过使用自定义布局来