Android Studio:按钮始终出现在前面

2024-01-06

我有一个相对布局,我向其中添加视图。

我向其中添加了一个按钮,该按钮始终显示在添加到其中的所有其他视图的前面,无论添加内容的顺序如何。怎么会?

我纯粹使用 Java 编写代码,没有使用 XML。

这是一个简单的示例,即使文本是最后添加的,按钮也会出现在文本前面:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    RelativeLayout layout = new RelativeLayout(this);

    Button button = new Button(this);
    TextView text = new TextView(this);

    button.setText("Button");
    text.setText("Text");

    layout.addView(button);
    layout.addView(text);

    setContentView(layout);
}

从 Lollipop 开始,控制高度的 StateListAnimator 被添加到默认的 Button 样式中。根据我的经验,这会强制按钮显示在其他所有内容之上,无论其在 XML 中的位置如何(或在您的情况下以编程方式添加)。这可能就是你正在经历的。

要解决此问题,您可以添加自定义 StateListAnimator(如果需要),或者只需将其设置为 null(如果不需要)。

XML:

android:stateListAnimator="@null"

Java:

Button button = new Button(this);
button.setText("Button");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    button.setStateListAnimator(null);
}

更多细节:Android 5.0 android:elevation 适用于 View,但不适用于 Button? https://stackoverflow.com/questions/27080338/android-5-0-androidelevation-works-for-view-but-not-button/27112143#27112143

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

Android Studio:按钮始终出现在前面 的相关文章

  • 相对重力

    我最近开始使用jMonkey引擎 这非常好 但我在尝试实现相对重力时陷入了困境 我想让行星彼此围绕轨道运行 不一定是完美的圆形轨道 取决于速度 所以每个对象都应该影响其他对象 我现在拥有的 关闭全球重力 bulletAppState get
  • java springrabbit - 优雅地拒绝消息

    我有以下侦听器方法 Override public void onMessage Message message Channel channel try do something bad catch Exception e try long
  • 是否有适用于 Java 的 CalDAV 客户端库? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想使用 CalDAV 协议与我的日
  • Firebase 邀请发送电子邮件,但不发送短信。返回结果代码 0

    我正在尝试使用 Firebase 在我的 Android 应用程序中实现应用程序邀请系统 该代码与他们中给出的完全相同guide https firebase google com docs invites android private
  • SFTP Java - 管道关闭 Jsch 异常

    我正在研究一种 java 方法 将文件从一个位置复制到另一个远程位置 我的代码如下 我尝试使用jsch 0 1 42 0 1 50 0 1 54 public static void processFiles ArrayList
  • 如何更改Android软键盘中任意键的按键背景

    我想让键盘上的一些键与其他键不同 例如下图中的shift 删除 空格键 根据google的参考文档 我们可以通过使用 来改变按键的背景android keybackground drawable xxx in input xml 但它改变了
  • 为什么我无法使用 HttpUrlConnection 上传第一个文件块?

    在我的项目中 我应该从一台服务器逐块下载文件 并将每个块立即上传到另一台服务器 我有一个应该下载的文件的 URL 我们就这样称呼它吧downloadUrl 因此 这就是我逐块下载文件的方式 val chunkSize 1024 1024 B
  • mysql 准备好的语句错误:MySQLSyntaxErrorException

    我使用准备好的语句编写了选择语句 每次尝试运行都会出现此错误 我如何克服这个错误 我的jdbc连接器是mysql connector java 5 1 13 bin jar 我的代码 public Main add ad to getAdD
  • 如何在列表视图中选择时启用视频序列自动播放?

    大家好 有人可以与我分享一下我如何编写我的 viewvideo java 类 以便它允许自动播放视频功能 自动排序在列表视图中播放所选视频的任务 从当前位置到最新录制的视频 按顺序直到最新的视频播放完毕 这类似于 YouTube 自动播放功
  • ListPreferences 的异常

    这是我的第一个 Android 应用程序 在尝试使用 ListPreference 时遇到了异常 应用程序与首选项一起加载 但是当我触摸 ListPreference 条目时 应用程序 意外停止 设置 java public class S
  • Java泛型类型参数中的问号是什么意思? [复制]

    这个问题在这里已经有答案了 这是取自斯坦福解析器附带的一些示例的一小段代码 我已经用 Java 进行了大约 4 年的开发 但从未对这种风格的代码应该表示什么有非常深入的理解 List
  • 使用 Google 语音服务查询支持的语言不适用于 Android 13

    我使用以下命令查询语音服务支持的语言RecognizerIntent ACTION GET LANGUAGE DETAILS action val intent Intent RecognizerIntent ACTION GET LANG
  • 从另一个活动返回时 Android ListView 项目没有响应?

    我从 ArrayAdapter 创建一个 ListView ListView的每一行都有一个ImageView和一个TextView 现在我使用 setOnItemClickListener 处理单击事件 lv getListView lv
  • 如何在flutter app android中添加Startapp广告?

    我想用其他广告更改 AdMob 广告 一些个人问题 如何在flutter app android中添加Startapp广告 有什么方法可以将启动广告添加到我的 flutter 应用程序 android 中 StartApp 现已更名为 St
  • 如何预先填充 JFileChooser 将“文件名”?

    我打算用数据库中的名称填充 JFileChooser 但使用标准 JFileChooser 对话框进行加载 删除 保存和另存为 我想给用户留下这样的印象 他们正在处理文件系统 而在后端使用数据库来保存更改 用户不应该能够浏览到不同的目录进行
  • 不鼓励在Web应用程序中使用线程吗?

    我们与同事就在 Java 的 Web 应用程序中使用线程进行了激烈的讨论 他们的观点是 不建议在 Java Web 应用程序中使用线程 因为它们不受容器管理 一般来说 我对此表示同意 因为线程可能会干扰容器 但是 如果它不是 Java EE
  • 优雅地避免 Java 中的 NullPointerException

    考虑这一行 if object getAttribute someAttr equals true 显然这一行是一个潜在的错误 属性可能是null我们会得到一个NullPointerException 因此我们需要将其重构为以下两个选择之一
  • 片段已添加 IllegalStateException

    我在容器 Activity 上使用此方法来显示 BFrag public void showBFrag Start a new FragmentTransaction FragmentTransaction fragmentTransact
  • 如何从 Android 应用程序调用 REST API? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 android 新手 也是编程新手 如何从 Android 应用程序调用 REST api GET POST 请求 请给我推荐一
  • Android NDK - 仅用 C/C++ 编写

    有没有一种可能的方法可以使用 C C 编写整个 NDK 应用程序 而无需像 hello jni 示例项目 HelloJni java 中那样的 Java 入门 类 以某种方式创建一个 HelloJni c 来执行相同的操作 从 Androi

随机推荐

  • 时间:2019-03-17 标签:c#datagridviewredcross

    我有一个数据网格视图和数据表 我使用数据表作为 datagridview 的数据源 我使用线程添加和更新数据 如下所示 如果我处理完数据 我会将其删除 但有两次大红色x在 datagridview 前面 我没查出为什么 以下是我的样本 No
  • 仪器 > 设备灰显

    我正在 iOS 设备上运行一个应用程序 但在 Instruments 中 该设备显示为灰色 这也意味着我无法附加该过程 无法使用设备上的 Instruments 启动 iOS 应用程序 https stackoverflow com que
  • 使用 UIWebView 构建 HTML5 iOS 应用程序

    我有一位客户建议我们只需创建一个 UIWebView 并将所有应用程序逻辑卸载到 HTML5 应用程序即可将 HTML5 应用程序包装为本机 iOS 应用程序 这将使我们能够拥有一个 原生 iOS 应用程序和一个适用于其他设备的优秀移动应用
  • 如何使用C#获取Sql Server 2005的列描述?

    我可以在 C 中使用 Microsoft SqlServer Management Smo Table 来获取 Sql Server 2005 数据库的表列 我已经得到了column Name 但是如何在C 中获取该列的描述 我看过链接 S
  • 如何执行Realm计数查询

    如何在 Realm 上进行计数查询 例如这是我的模型 class Dog Object dynamic var name class Person Object dynamic var name let dogs List
  • 如何从Python文件的末尾开始读取行

    我需要知道如何从 python 文件中读取行 以便我先读取最后一行 然后以这种方式继续 直到光标到达文件的开头 有任何想法吗 解决此问题的一般方法是按行反向读取文本文件 可以通过至少三种方法来解决 一般问题是 由于每行可以有不同的长度 因此
  • java mysql 统计行数

    我创建此代码是为了允许我计算表中的行数 但是 我无法返回计数的数字 并显示错误 无法从结果类型为 void 的方法返回值 有人可以告诉我我的错误在哪里吗 多谢 public void num throws Exception try Thi
  • 马根托。结帐购物车中的数量无法正常使用

    我已经安装了 Magento 1 8 0 并且在本地主机上购物车工作正常 我更改购物车中产品的数量 然后按下 更新购物车 按钮 一切正常 我把网站转移到网上 购物车数量不再起作用了 当我更改产品数量并单击按钮时 数量保持不变 如果我返回并尝
  • 使用 PKG_CHECK_MODULES 时,autoconf 生成的 Makefile 不会传递库头的标志

    我的项目依赖于一个库 更准确地说 GTK 所以我在我的项目中添加了以下配置configure ac PKG CHECK MODULES GTK gtk 2 0 AC SUBST GTK CFLAGS AC SUBST GTK LIBS My
  • 更新到 Asp.Net MVC 4 RTM 后无法加载类型 HttpControllerConfigurationAttribute

    我最初正在使用 ASP Net MVC 4 Beta 和 EF 4 3 1 开发单页应用程序 我更新了 MVC 4 和 EF 5 的所有 NuGet 包 现在 每当我调用 ApiController 或 DbDataController 时
  • 将 SKSpriteNode 添加到 SKEffectNode 时金属崩溃

    gt MTLDebugRenderCommandEncoder setScissorRect 2028 failed assertion rect x 0 rect width 1080 1080 must be lt 240 添加一个简单
  • 构建定义 null

    我使用这段代码来确定特定构建的构建定义详细信息 TfsTeamProjectCollection tpc TfsTeamProjectCollectionFactory GetTeamProjectCollection tfsUri IBu
  • 来自命令行的 PHPUnit - 显示的依赖文件列表。如何让它只显示测试脚本?

    我已经在 Windows 7 上安装了 PHPUnit 以及 PHP 和 Pear 我有一个基本的测试脚本 首先
  • 如何在此父方法中等待异步方法而不使用异步修饰符?

    我有一个想要等待的方法 但我不想引起多米诺骨牌效应 认为任何东西都可以调用这个调用方法并等待它 例如我有这样的方法 public bool Save string data int rowsAffected await UpdateData
  • 在 Visual Studio Code 中添加断点

    我一定是做了一些愚蠢的错误 因为我似乎无法在 Visual Studio Code 中添加断点 当我右键单击我的代码时 会弹出以下内容 在行号旁边左键单击也不起作用 我已阅读此处的文档https code visualstudio com
  • Android 屏幕方向,晃动手机导致应用程序崩溃

    我有搜索应用程序 它加载从网络服务检索的数据 创建应用程序时 它会显示进度对话框 一旦完成加载数据 它就会关闭进度对话框 问题是在加载时 如果我改变手机的方向 它工作正常 它会尝试再次加载活动 但如果我在加载数据时开始摇动手机 应用程序就会
  • 动画 UIStackView 排列子视图内容大小变化

    当其内在内容大小发生变化时 是否可以对排列的子视图进行动画处理 例如 假设我有一个已排列的子视图 其中包含固定到边缘的单个 UILabel 该标签有少量文字 新文本出现 比之前的文本大 标签的内在内容尺寸现在更大 我希望能够像这样制作动画
  • 位域的意外行为

    我编译了代码 include
  • 如何使用 Carrierwave 上传自定义 S3 元数据

    我想添加Content Disposition我使用 Carrierwave 上传的文件的标头 之后不能通过 URL 中的查询参数执行此操作 有什么我可以添加到的吗AttachmentUploader在上传文件之前 可以帮助我完成此任务的模
  • Android Studio:按钮始终出现在前面

    我有一个相对布局 我向其中添加视图 我向其中添加了一个按钮 该按钮始终显示在添加到其中的所有其他视图的前面 无论添加内容的顺序如何 怎么会 我纯粹使用 Java 编写代码 没有使用 XML 这是一个简单的示例 即使文本是最后添加的 按钮也会