Android:以编程方式更改视图的绝对位置

2024-01-17

如果您使用 AbsoluteLayout (我知道它已被弃用,但这是解决我的问题的唯一方法 problem https://stackoverflow.com/questions/3438656/android-scrollable-horizontal-and-vertical-imageview-with-buttons-overlayed)你可以给childViews标签android:layout_x and android:layout_y设置它们在范围内的绝对位置AbsoluteLayout.

但是我不想在 xml 中设置这些信息,因为我只在运行时知道它们。那么如何在运行时以编程方式设置这些参数呢?我在视图上没有看到任何方法,例如view.setLayoutX(int x)或者其他的东西。

这是我的 XML,当我设置layout_x and layout_y values:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/myLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
     android:src="@drawable/myImageView"
     android:layout_width="1298px"
     android:layout_height="945px"
     android:layout_x="0px"
  android:layout_y="0px" />
 <Button  
  android:id="@+id/myButton1"
  android:text="23"
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"
  android:layout_x="50px"
  android:layout_y="300px"
  android:tag="23"/>


 <Button  
  android:id="@+id/myButton2"
  android:text="48"
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"
  android:layout_x="50px"
  android:layout_y="300px"
  android:tag="48"/>

</AbsoluteLayout>

事实上,我不想再在 xml 中设置任何按钮,而是通过远程检索一些信息并根据该信息添加按钮。

这是我在我的代码中使用的部分onCreateMethod添加这些按钮:

  for (MyRemoteObject remoteObject: list)  {
   Button button = new Button(this);
   button.setOnClickListener (listener);
   button.setTag(remoteObject.id);
   button.setText(remoteObject.id);
   // button.setLayoutX(remoteObject.x) ????
   // button.setLayoutY(remoteObject.y) ????
   myLayout.addView(button);
  }

使用 addView 的版本布局参数 http://developer.android.com/reference/android/widget/AbsoluteLayout.LayoutParams.html:

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

Android:以编程方式更改视图的绝对位置 的相关文章

  • Firebase 管理 SDK Android

    在 Android 中初始化 Firebase Admin SDK 的代码 Override protected void onCreate Bundle savedInstanceState super onCreate savedIns
  • 使用 Android 前台服务为 MediaPlayer 创建通知

    问题就在这里 我目前正在开发一个应用程序 该应用程序必须提供 A 广播播放器 来自 URL 的 AAC 直播 还有一个播客播放器 来自 URL 的 MP3 流 该应用程序必须能够在后台运行 Android 服务 并通过以下方式向用户公开持续
  • 检测到设备正在振动?

    我使用下面的代码来振动设备 public void vibrator try Vibrator vibrator Vibrator getSystemService Context VIBRATOR SERVICE vibrator vib
  • KitKat(及更低版本)设备上的 Android Material Design

    我将在我们学校开发一个 Android 应用程序作为一个项目 我想使用 Google 的新 Material Design 但我知道它仅适用于 Android L 设备 Jack Underwood 最近发布了名为 Today Calend
  • 如果我们使用后退按钮退出,为什么 Android 应用程序会重新启动?

    按住主页按钮并返回应用程序时 应用程序不会重新启动 为什么使用后退按钮会重新启动 如果我们使用后退按钮退出 有什么方法可以解决在不重新启动的情况下获取应用程序的问题吗 请帮忙 当您按下Home按钮 应用程序将暂停并保存当前状态 最后应用程序
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • 在 Android 中使用 DataOutputStream 在 POST 正文中发送特殊字符 (ë ä ï)

    我目前正在开发一个具有大量服务器端通信的 Android 应用程序 昨天 我收到一份错误报告 称用户无法发送 简单 特殊字符 例如 我搜索过但没有找到任何有用的东西 可能重复 没有答案 https stackoverflow com que
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • 已经使用 AsyncTask doInBackground 但新数据未显示

    我使用 AsyncTask 创建一个聊天室来接收消息 因此它总是检查即将到来的消息并将其显示给客户端 但代码似乎无法按我希望的方式工作 在客户端只显示所有旧数据 新数据不显示 因为当我尝试从服务器发送消息时 新数据没有显示在客户端中 我对这
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • 从 Firebase 数据库填充微调器

    public class MainActivity extends AppCompatActivity DatabaseReference reference Spinner areaSpinner ArrayList
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 如何在不更改手机语言的情况下更改Android应用程序语言?

    我希望用户在应用程序内选择一种语言 选择语言后 我希望字符串使用特定语言 如果我更改手机语言 那么我的应用程序将以设置的语言运行 我无法找到任何在不更改手机语言的情况下设置语言的方法 此外 一旦设置了语言 更改就应该反映出来 有人可以建议一
  • 材质设计图标颜色

    应该是哪种颜色 暗 材质图标 在官方文档上 https www google com design spec style icons html icons system icons https www google com design s
  • Android中webview的截图方法

    我在 webview 中的 html5 canvas 上画了一些线 并尝试使用下面的代码截取 webview 的屏幕截图 WebView webView WebView findViewById R id webview webView s
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 如何删除因 Google Fitness API 7.5.0 添加的权限

    将我的 play services fitness api 从 7 0 0 更新到 7 5 0 后 我注意到当我将新版本上传到 PlayStore 时 它 告诉我正在添加一个新权限和 2 个新功能 我没有这样做 有没有搞错 在做了一些研究来

随机推荐

  • Gmail API 配额单位费用

    我们正在构建一项利用 Gmail API 的服务 为了了解我们在扩展过程中的成本 我想知道使用 Gmail API 的成本是多少 我已按照以下说明进行操作https developers google com gmail api v1 re
  • 从 Portlet 中删除自定义权限/操作

    我已经能够根据 Liferay Plugins SDK 中的示例定义自定义 portlet 操作 权限 https github com liferay liferay plugins tree master portlets sample
  • 如何在 Ubuntu 14.04 中使用 systemctl

    我尝试在 Ubuntu 14 04 中执行以下命令 systemctl enable now docker cleanup dangling images timer 我也用 sudo 尝试过 我尝试用 service 和 systemd
  • 按最后一个数组条目字段值过滤结果

    具有此文档结构 为了简洁省略不相关的字段 id 0 partn date ISODate 2015 07 28T00 59 14 963Z is partner true date ISODate 2015 07 28T01 00 32 7
  • Javascript,写入txt文件另存为UNICODE

    我有2根弦 希望首先创建一个 txt 文件 然后将字符串保存为 unicode function WriteFile file str str2 var tmp real url replace 20 g var WshNetwork ne
  • 根据 java.io/java.nio 进行阻塞

    我刚刚读 使用流的类位于两个包中 java io 和 java nio 以前实现的类 输入 输出 I O 阻塞 当字节被读 写时 进程中 它们对于其他执行线程变得不可用 这 后一个包提供非阻塞 I O 并提高了性能 并且想更多地了解这一点
  • Automapper 可以忽略 void 方法吗?

    我是 Automapper 的新手 所以我不确定这是否可行 我想映射一个类 但让它忽略无效的方法 下面是我的代码的说明 当我运行这个时 我收到以下异常消息 AutoMapper AutoMapperMappingException 类型的未
  • 如何将 JavaScript 函数传递给 Silverlight?

    我正在评估 JavaScript Silverlight 互操作功能 并且已经能够使用 JavaScript 创建 Silverlight 实例并调用其方法 但是 我现在需要一种将 JavaScript 回调函数传递给 Silverligh
  • iPhone OS 中的核心动画中的“图像错位”是什么?

    Instruments 表示存在由核心动画制作的 未对齐的图像 这意味着什么 更新 我在 Instruments app gt 核心动画中看到了这一点 我希望了解有关您在哪里看到此内容的更多信息 但我怀疑它指的是未像素对齐的图像 Quart
  • UDP 服务与亚马逊网络服务

    再会 我在一个硬件项目的基于云的系统中经常使用 AWS 使用 SimpleDB 和提供的通知服务很棒 然而 我需要 AWS 上的一个后端来监听传入的请求 处理请求并将其发送回特定地址 某种 UDP 服务 我可以轻松地为其编写一个 C C 应
  • Linq GroupBy 将每个空值作为一个组

    我有一个具有可为 null int 属性 GroupId 的对象 有了这个对象的列表 我想对此 GroupId 执行 GroupBy 操作 但如果我这样做 所有空值将形成一个组 例子 对象 1 GroupId NULL 对象 2 Group
  • 拉取镜像时设备上没有剩余空间

    在 Windows 10 Build 14393 下使用 Docker 1 13 0 9795 当我尝试运行最新的 python 映像 即 3 6 时 出现 设备上没有剩余空间 的情况 gt docker run it python Una
  • 根据 Java 日期在 Postgres 中保存时间戳

    我有一个 Postgres 数据库 其中有一个包含时间戳的表 timeOfProcessing TIMESTAMP 我有一个 Java 日期时间值 java util Date dateTime 并希望将其值存储在该时间戳字段中 没有时区
  • 设置响应 ContentType 的中间件

    在我们基于 ASP NET Core 的 Web 应用程序中 我们需要以下内容 某些请求的文件类型应获得自定义 ContentType 作为响应 例如 map应该映射到application json 在 完整 的 ASP NET 4 x
  • 具有捆绑和缩小功能的 ASP.NET MVC 4 应用程序,为什么在调试模式下启用缩小?

    我刚刚将 ASP NET MVC 3 项目迁移到 MVC 4 NET 4 0 并安装了 NuGet 包Microsoft AspNet Web Optimization为了支持 CSS 和 JavaScript 的捆绑和缩小 我几乎已经完成
  • 如何跟踪 Magento 从哪里调用模板?

    我正在与 Magento 合作 请看下面的代码 有没有一种简单的方法可以找到 HTML 所在的位置 IE 有某种我可以使用的痕迹吗 在管理中转到系统 gt 配置 gt 开发者 从左上角的 配置范围 选择中选择一个商店 然后 调试 部分中将出
  • Git diff 工具对多个提交以及其间的其他提交进行比较

    我们有一个工作流程 其中提交的代码需要由其他开发人员审核 在简单的情况下 可以使用 git diff oldhash newhash gt diff txt 来完成 并将其上传到我们的审查委员会 但是有没有办法在多个提交之间创建差异并排除其
  • 如何使用 Angular 在 HMR 期间保留状态

    在 Angular 中 有没有办法在模块热重新加载后保留应用程序状态 与 VueJS 中发生的情况类似 到目前为止 我已经按照几个教程让 HMR 正常工作 但它所做的只是重新加载应用程序 而不进行实际的页面刷新 满载更快 是的 但仍然没有达
  • ASP.NET MVC ActionFilter - 确定是否是 AJAX 请求

    我使用 ActionFilter 来确定用户在执行操作之前是否有权访问特定资源 例如帐户对象 la Rhino Security 这是一个全局过滤器 如果授权值失败 它会重定向到错误页面 我正在使用以下代码 它适用于整页请求 filterC
  • Android:以编程方式更改视图的绝对位置

    如果您使用 AbsoluteLayout 我知道它已被弃用 但这是解决我的问题的唯一方法 problem https stackoverflow com questions 3438656 android scrollable horizo