有没有一种简单的方法可以在 Android 视图的顶部和底部添加边框?

2024-02-14

我有一个 TextView,我想沿着其顶部和底部边框添加黑色边框。我尝试添加android:drawableTop and android:drawableBottom到 TextView,但这只会导致整个视图变黑。

<TextView
    android:background="@android:color/green"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableTop="@android:color/black"
    android:drawableBottom="@android:color/black"
    android:text="la la la" />

有没有一种方法可以轻松地向 Android 中的视图(特别是 TextView)添加顶部和底部边框?


在 android 2.2 中你可以执行以下操作。

创建一个 xml 可绘制对象,例如 /res/drawable/textlines.xml 并将其指定为 TextView 的背景属性。

<TextView
android:text="My text with lines above and below"
android:background="@drawable/textlines"
/>

/res/drawable/textlines.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
      <shape 
        android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FF000000" />
            <solid android:color="#FFDDDDDD" />

        </shape>
   </item>

   <item android:top="1dp" android:bottom="1dp"> 
      <shape 
        android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FFDDDDDD" />
            <solid android:color="#00000000" />
        </shape>
   </item>

</layer-list>

这样做的缺点是您必须指定不透明的背景颜色,因为透明胶片不起作用。 (至少我认为他们做到了,但我错了)。在上面的示例中,您可以看到第一个形状 #FFdddddd 的纯色被复制到第二个形状的描边颜色中。

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

有没有一种简单的方法可以在 Android 视图的顶部和底部添加边框? 的相关文章

  • 检查片段是否存在并重用它

    每次用户单击列表视图中的项目时 我都会使用以下代码创建一个片段 但通过这种方式 片段是在每次用户点击时创建的 我想要的是重用旧片段 如果存在 并仅重新加载其内容 不创建新片段 MagazineViewFragment fragment ne
  • FireStore 日期查询未按预期工作

    我有一个有日期对象的文档 初始化 Firestore 的代码 FirebaseFirestore fireStore FirebaseFirestore getInstance FirebaseFirestoreSettings setti
  • Android NDK:断言失败:TARGET_PLATFORM 未定义

    使用 NDK r5b 时 当我使用以下命令在 jni 目录中进行构建时 NDK DIR ndk build 效果很好 但是当我切换到 r6b 只需以不同的方式设置 NDK DIR 并运行相同的命令时 我得到 usr local androi
  • 如何创建轮播ViewPager?

    我想做的只是 Android 中的水平轮播 如果我有 3 个屏幕 A B 和 C 那么我希望我的 ViewPager 允许我像这样移动 A B B C C A GTalk for Android 的对话可以这样切换 三星的主屏幕和应用程序屏
  • 如何在无头Linux中更新Android平台工具?

    我们有一些没有安装 X Window 的 CI 主机 我知道如何使用 android 更新命令更新 SDK 但如何使用此命令更新平台工具 您可以使用以下命令 android list sdk android update sdk no ui
  • 检查 key 是否存在 firebase Android

    我想检查 firebase 数据库中是否存在密钥 例如 我想查找关键的 upvotes 以查看它是否存在 Here is an exmaple upvotes key does not exist in here 现在我尝试检查密钥 upv
  • ANDROID:如何从所有窗口顶部的通知或长按搜索按钮启动弹出对话框?

    我已经搜索过 一切都是关于启动活动而不是对话框 我想要做的是在状态栏中显示通知 当用户按下它时 在用户单击通知之前正在查看的内容之上会弹出一个对话框 我不希望对话框显示在主要活动或最近的应用程序列表的顶部 另外 如何通过长按搜索按钮启动对话
  • Android 上关闭并重新打开应用程序后 GPS 不更新位置

    当我关闭我的应用程序一段时间然后再次重新打开它后 我的应用程序将不会更新位置或 有时更新需要很长时间 大约5分钟 我该如何修复它 这是我的代码 private LocationManager lm private LocationListe
  • 如何在Android中以编程方式替换视图? [复制]

    这个问题在这里已经有答案了 我有一个复杂的视图 包含多个子视图 例如文本视图和图像视图 我想用另一个 派生的 图像视图替换其中一个图像视图 另一个支持在后台加载图像 如何用新的图像视图替换原始图像视图 我目前的解决方案只是复制粘贴整个 XM
  • 如何在 Android 中签署 AAR Artifacts?

    我目前正在开发一个 AAR android 库 我想用我自己的密钥对已发布的工件进行签名 以便我可以确定我是否发布了具有相同名称和功能的假 aar 注意事项1 我希望能够以编程方式检查我的库的真实性 即使是一个伪造的库 只是伪造了我的 aa
  • 底部导航视图 - 渐变图标色调

    I have changed icon tint in BottomNavigationView using selector and gradient color as tint when icon is pressed but inst
  • onPictureTaken 之后旋转 JPEG 的字节数组

    有没有办法旋转字节数组而不将其解码为位图 目前在 jpeg PictureCallback 中我只是将字节数组直接写入文件 但图片是旋转的 我想旋转它们而不解码为位图 希望这能节省我的记忆 BitmapFactory Options o n
  • 使用 ACTION_VIEW Intent Action 启动文件

    我有以下代码来启动文件 try path fileJsonObject getString filePath if path indexOf 0 path path substring 1 path length path root pat
  • 将对象传递给活动

    我可以在第一个活动中初始化对象并在所有活动中初始化对象吗 public class Calc int x int y public Calc int x int y this x x this y y public int sum retu
  • 在 Cordova / PhoneGap 中生成 iOS 和 Android 图标

    我有一个新创建的 Cordova 项目 其中包含以下内容config xml设置 使用来自http docs phonegap com en edge config ref images md html http docs phonegap
  • Android 中 Bitmap 和 Drawable 有什么区别?

    我用谷歌搜索 但找不到任何文章来描述 Android 中 Bitmap 和 Drawable 之间的区别 位图是位图图像的表示 类似于 java awt Image Drawable 是 可以绘制的东西 的抽象 它可能是一个位图 包装为Bi
  • 如何在flutter app android中添加Startapp广告?

    我想用其他广告更改 AdMob 广告 一些个人问题 如何在flutter app android中添加Startapp广告 有什么方法可以将启动广告添加到我的 flutter 应用程序 android 中 StartApp 现已更名为 St
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • 使用 Ant 构建 Android 库项目

    我在使用 ant 构建 Android 库项目时遇到问题 当我尝试跑步时ant release 它说Target release does not exist in the project MyProject 然后我假设库可能无法通过发布
  • 片段已添加 IllegalStateException

    我在容器 Activity 上使用此方法来显示 BFrag public void showBFrag Start a new FragmentTransaction FragmentTransaction fragmentTransact

随机推荐

  • C/C++ 大数计算

    我正在尝试在 C 程序中计算以下数字 result 3 pow 2 500000000 2 1000000000 2 的幂太大 无法正确处理 gt 我的印象是 我可以使用模数将计算分成多个步骤 以减少结果大小 有人有这样做的策略吗 还有其他
  • 将 WP 8.0 应用程序定位到 WP8.1 应用程序?

    我安装了 Visual Studio 2013 含更新 2 我正在 VS2012 中为 Windows Phone 8 0 开发我的项目 现在我决定Upgrade它到 Windows Phone 8 1 应用程序 所以我按照说明进行操作Ta
  • 选择选项卡时更改 div 高度

    我有一个选项卡式内容 有 4 个选项卡 每个选项卡中都有两个 div 构成边框设计 我遇到的问题是 当选择它们所在的选项卡时 我不知道如何对 div 进行动画处理以更改高度 我有一个小提琴供参考 http jsfiddle net jw6t
  • 如何将 CGRect 的大小增加一定的百分比值?

    如何将 CGRect 的大小增加一定的百分比值 我应该使用某种形式的CGRectInset去做吧 Example 假设我有一个 CGRect 10 10 110 110 我想将其大小增加 20 保留相同的中心点 0 0 120 120 您可
  • Android Preview M:授予权限后重新创建活动

    我使用 Preview M 并在其上测试我的应用程序 尤其是 将文件保存到外部存储 部分 在下载 保存过程开始之前 我请求 Manifest permission WRITE EXTERNAL STORAGE 开发者页面上描述的权限 htt
  • 从 Maven 部署到 Nexus 出现错误:ReasonPhrase:Forbidden

    http numberformat wordpress com 2011 05 18 nexus repository http numberformat wordpress com 2011 05 18 nexus repository
  • NetworkStream.Write 与 Socket.Send

    我有一个 C 应用程序 我使用自定义 FTP 库 现在我使用 Socket Send 发送数据 但我想知道使用套接字启动 NetworkStream 并使用 NetworkStream Write 是否会更好 使用其中一种比另一种有什么优势
  • Haskell 中的 HTTP POST 内容

    我正在尝试将一些数据发布到 Haskell 中的服务器 但服务器端为空 我正在使用 Network HTTP 库来处理请求 module Main main where import Network URI URI parseURI uri
  • Postgres `gin_trgm_ops` 索引未被使用

    我试图speed up https stackoverflow com questions 56483600 composite jsonb array query in postgresPostgres 中的一些文本匹配 使用pg trg
  • 如何在 dask/distributed 中存储工作线程局部变量

    使用dask 0 15 0 分布式1 17 1 我想记住每个工作人员的一些事情 比如访问谷歌云存储的客户端 因为实例化它是昂贵的 我宁愿将其存储在某种工作者属性中 执行此操作的规范方法是什么 或者全局变量是正确的选择吗 关于工人 您可以通过
  • jquery ajax 调用不起作用?!是firefox还是xss问题?

    我的问题是 在 Firefox 中我没有得到任何回应 在 ie 中它工作得很好 我想要对本地脚本进行 ajax 调用 以纯文本或其他方式获取一些信息 但这行不通 我认为跨脚本此时应该不是问题 或者 JavaScript 代码很简单 var
  • 如何在程序开始执行时设置断点

    如何在加载任何链接的 DLL 之前停止程序 我尝试过设置LoadLibraryExW函数在Break At Function调试选项 它会在该函数处停止 但在此之前 我在 Visual Studio 输出窗口中有以下内容 test exe
  • Sequelize - 通过匹配所有标签来过滤 FindAll

    assets tags foo tags bar 对上述端点的获取请求应仅返回包含所有提供的标签的记录 foo bar 我当前的尝试是返回与任何给定标签匹配的任何记录 const tags req query res send await
  • Angular 10 中主组件内的延迟加载模块

    我的应用程序中有两个模块 其中一个是app module另一个是user module这会被延迟加载 上app module我有一个sign in成分 sign up组件和main成分 这main component是由导航栏和侧边栏组成的
  • 设置回调数组并尝试使用数组索引作为回调中的值

    当我以这种方式设置回调数组时 我在所有回调的对话框窗口中得到 20 我想获取数组中的索引 这可能吗 调用回调的函数期望回调有一个参数 我不控制回调的调用者 因为它是外部库的一部分 任何帮助表示赞赏 for var i 0 i lt 20 i
  • 使用 CreateDesktop/SwitchDesktop 在新桌面中创建表单

    我需要为一个实用程序创建一个系统模式形式 该实用程序应该阻止整个窗口 直到输入某些值 所以我正在尝试创建桌面和切换 到目前为止 创建一个切换到它的桌面 然后返回对我来说效果很好 But 当我尝试从新线程中创建表单时 该表单不会显示 但应用程
  • NSwag - 如何添加评论?

    我在 ASP Net WebAPI 项目中使用 NSwag 来生成 swagger 界面 效果很好 假设我有一个方法想要添加一些解释 我该怎么做 我所说的注释是指当 API 用户查看文档时会看到的内容 我用谷歌搜索过 狂饮过 然后 躲开了
  • 从命令行运行程序时,C++ 出现错误“failure: locale::facet::_S_create_c_locale name not valid”

    我似乎对 C 中的区域设置有问题 当我从 Eclipse 中运行我的程序时 一切正常 但是 当我尝试从命令行运行时 我不断收到此错误 失败 locale facet S create c locale 名称无效 这是触发错误的代码 Set
  • Facebook 好友邀请的 Swift 2.0 代码

    我一直在为 iOS 应用程序的 Facebook 好友邀请寻找等效的 Swift 代码示例 但我找不到他们 我知道 Facebook 页面上有 Objective C 版本https developers facebook com docs
  • 有没有一种简单的方法可以在 Android 视图的顶部和底部添加边框?

    我有一个 TextView 我想沿着其顶部和底部边框添加黑色边框 我尝试添加android drawableTop and android drawableBottom到 TextView 但这只会导致整个视图变黑