setLayoutParams 第二次不起作用

2023-12-23

我编写了以下代码,首先增加 ImageView 的大小,并在 100 毫秒后减小同一 ImageView 的大小。但是,此代码会增加 ImageView 的大小,但不会减小其大小,或者 100 毫秒延迟后的代码不会影响 imageView 尺寸。

我究竟做错了什么?

uiHandler.post(new Runnable()
{
    @Override
    public void run()
    {
        FrameLayout.LayoutParams layout = (android.widget.FrameLayout.LayoutParams) imageView.getLayoutParams();
        layout.height = (int) (2*iconsSizeInDP);
        layout.width = (int) (2*iconsSizeInDP);
        imageView.setLayoutParams(layout);
        try
        {
            Thread.sleep(50);
        }
        catch (InterruptedException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_SHORT).show();
        // following code block doesnt'affect imageView dimensions
        layout.height = (int) iconsSizeInDP;
        layout.width = (int) iconsSizeInDP;
        imageView.setLayoutParams(layout);
    }
});

Regards


您在同一个 UI 线程中更改布局 2 次,因此只有最后一次更改才能生效。 您应该分成 2 个 UI 线程,如下所示:

uiHandler.post(new Runnable()
{
    @Override
    public void run()
    {
        FrameLayout.LayoutParams layout = (android.widget.FrameLayout.LayoutParams) imageView.getLayoutParams();
        layout.height = (int) (2*iconsSizeInDP);
        layout.width = (int) (2*iconsSizeInDP);
        imageView.setLayoutParams(layout);
    }
};
uiHandler.postDelayed(new Runnable()
{
    @Override
    public void run()
    {
        Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_SHORT).show();
        // following code block doesnt'affect imageView dimensions
        layout.height = (int) iconsSizeInDP;
        layout.width = (int) iconsSizeInDP;
        imageView.setLayoutParams(layout);
    }
},50);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setLayoutParams 第二次不起作用 的相关文章

  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • 异步迭代器

    我有以下代码 while slowIterator hasNext performLengthTask slowIterator next 由于迭代器和任务都很慢 因此将它们放入单独的线程中是有意义的 这是对迭代器包装器的快速而肮脏的尝试
  • 如何将 Observable>> 转换为 Observable>

    我陷入了如何将以下可观察类型转换 转换为我的目标类型的困境 我有以下类型的可观察值 Observable
  • 发生错误。请参阅日志文件 - eclipse juno

    每当我启动 Eclipse Juno 时 都会出现错误 发生错误 请查看日志文件 C Program Files eclipse configuration 1362989254411 log 有的网站说卸载jdk重新安装 我这样做了 但没
  • 在 Java 中将弯音发送到 MIDI 音序器

    我了解启动和运行 MIDI 音序器的基础知识 并且希望能够在播放过程中增加 减小序列的音高 但弯音是发送到合成器而不是音序器的消息 我尝试将音序器的接收器设置为合成器的发射器 当我发送弯音短消息时 音序器保持相同的音调 但随后合成器以新的弯
  • 屏幕开/关检测

    在这里 我试图确定屏幕是否打开 但按下电源锁定 解锁按钮时它似乎不起作用 应用程序运行没有错误 但 if else 中的代码似乎没有效果 Edited现在代码可以工作了 谢谢Olgun 但媒体播放器播放不会停止 并且每次在屏幕上 离屏时都会
  • SDK >=26 仍需要 mipmap/ic_launcher.png?

    在 Android 中 有两种指定启动器图标 可以说是应用程序图标 的方法 老 方式 在 mipmap 文件夹中指定不同的 png 文件 通常命名为 ic launcher png 但可以通过以下方式设置名称android icon mip
  • 我在 PopupMenu 中使用 ShareActionProvider,但显示两个 PopupMenu?

    我在 PopupMenu 中使用 ShareActionProvider 但是当我单击共享菜单项时 它会在屏幕上显示两个 PopupMenus 一个被另一个覆盖 一个显示应用程序图标和名称 另一个仅显示应用程序名称 除了这个问题之外 它工作
  • 剪切评级栏中的图像

    我制作了自己的评级栏 花朵图像有 4 种尺寸 xdpi hdpi 等 从 24px24px 到 64x64px
  • 无法使用文件提供程序从内部存储打开 PDF 以便在 Android 8 和 9 上查看

    仅适用于 Android 8 和 9 我这里有一个 PDF 文件管理器 String url file storage emulated 0 Android data com verna poc files Download mypdf p
  • 如何初始化静态地图?

    你会如何初始化静态Map在Java中 方法一 静态初始化方法二 实例初始化 匿名子类 或者 还有其他方法吗 各自的优点和缺点是什么 这是说明这两种方法的示例 import java util HashMap import java util
  • 使用 JAD 反编译 java - 限制

    我正在尝试使用 Java 中的 JAD 反编译几个 jar 文件 我也尝试过 JD GUI 但运气更差 但出现了很多错误 一种类型 易于修复 似乎是内部类 但我也发现了这段代码 static int SWITCH TABLE atp com
  • Android AdMob:addView 在返回活动之前不会显示广告

    我正在尝试在游戏顶部添加横幅广告 我的活动使用带有自定义 SurfaceView 的relativelayout 我希望广告与 SurfaceView 重叠 广告会加载并可点击 但不会绘制到屏幕上 当我离开活动并返回时 会绘制广告 例如 通
  • 在 Android 手机中通过耳机插孔发送数据

    我目前正在处理一个新项目 我必须通过具有特定电压的耳机插孔发送数据 然后我可以在该电压上工作 所以这里我需要根据我的数据来编程具体电压 我是否可以在android中访问耳机的输出电压 然后创建一个应用程序来控制该电压 这是一篇讨论此问题的
  • 使用Intent拨打电话需要权限吗?

    在我的一个应用程序中 我使用以下代码来拨打电话 Intent intent new Intent Intent ACTION CALL Uri parse startActivity intent 文档说我确实需要以下清单许可才能这样做
  • Flash 对象未显示在phonegap android 中

    我已经在 android 手机间隙创建了一个应用程序 我有一个屏幕 我想显示一个静态 flash obj 所以我在屏幕 HTML 页面中放入了以下代码
  • 春季 CORS。在允许的来源中添加模式

    查看CORS的弹簧指南 以下代码启用所有允许的来源 public class MyWebMVCConfigurer extends WebMvcConfigurerAdapter Override public void addCorsMa
  • 如何正确编写AttributeSet的XML?

    我想创建一个面板适用于 Android 平台的其他小部件 http code google com p android misc widgets 在运行时 XmlPullParser parser getResources getXml R
  • R.java是手动修改的!恢复到生成的版本

    我在布局中添加了一个 xml 文件 之后这个错误就来了 但问题是我还没有接触过 R java 文件 现在 在我的新活动中 我要将其内容视图设置为我新创建的 xml 文件 但是当我执行 R layout 时 新创建的 xml 不会出现在建议中
  • 我应该如何在 Android 上使用 Retrofit 处理“无互联网连接”

    我想处理没有互联网连接的情况 通常我会运行 ConnectivityManager cm ConnectivityManager context getSystemService Context CONNECTIVITY SERVICE N

随机推荐

  • 使用apache rewrite时如何隐藏URL更改?

    使用 apache 重写时如何隐藏 URL 更改 我已经在这个问题上搜索了几个小时 并决定来这里寻找答案 因此 任何帮助 线索将不胜感激 现在我正在使用 RewriteRule Page http domain com page cfm p
  • 如何使用 jQuery 以编程方式禁用页面滚动

    使用 jQuery 我想禁用正文的滚动 我的想法是 Set body overflow hidden 捕捉电流scrollTop scrollLeft 绑定到body滚动事件 将scrollTop scrollLeft设置为捕获的值 有没有
  • 使用相机拍摄,在图像视图中显示并保存到图片

    我花了一个月的时间尝试进行简单的相机捕捉 但没有成功 我正在开发的这个应用程序几个月前运行得很好 但自从我将 Android 更新到版本 7 后 该应用程序停止正常工作 我想单击一个按钮 在捕获后激活相机 内置而不是 api 以在 imag
  • 在 Twitter Bootstrap 主题之间切换?

    我正在为一个基于 Twitter Bootstrap 的客户开发一个项目 他希望有不同的配色方案供用户选择 例如 有一个红色配色方案和一个蓝色配色方案 用户可以通过顶部的菜单进行更改 是否有任何 jQuery 插件 或其他任何相关插件 可以
  • jQuery DataTables 过滤多个表

    我在一些 HTML 表中使用 jQuery DataTables 好吧 我有一个页面 其中列出了几个表 并且我必须使用相同的过滤器来过滤所有表 案例中是我定制的日期范围 所有表格都使用相同的 css 类来构造数据表并按我在的日期范围进行搜索
  • 无法将屏幕截图上传到 Google Marketplace

    在 Google Cloud Platform 中我启用了应用市场 SDK将工作表发布到 Marketplace In API 和服务 gt Apps Marketplace SDK gt 发布我无法上传屏幕截图 我不断得到未保存 看这里
  • 数组引用参数有什么用处?

    我最近发现了一些这样的代码 typedef int TenInts 10 void foo TenInts arr 你能在身体里做什么foo 这是有用的 如果声明是 void foo int arr or void foo int arr
  • 给定半径内的周边城镇列表

    是否可以获取给定半径内的周边 城镇 列表 如果可以的话 有人可以给我一些指示吗 谢谢 Google 地图不允许这样做 不过 您可以使用 geonames org 但即使他们也没有附近城镇的列表 这样做的方法似乎是 获取附近邮政编码的列表 查
  • Google Play 商店禁用取消发布

    我是一名新开发人员 我正在尝试取消发布处于 开放测试 模式的应用程序 但 取消发布 按钮被禁用 开放测试 模式有问题吗 请帮帮我 你可以试试这个 打开发布概述选项卡 If Managed Publishing turned on turn
  • 根据年份和月份列创建每月第 7 个工作日的新列

    我有一个包含两列的数据框 为了简单起见 我省略了另一个变量的年份和月份 它看起来像这样 YearOfSRC MonthNumberOfSRC 0 2022 3 1 2022 4 2 2022 5 3 2022 6 4 2021 4 2052
  • XCTestCase 可选实例变量

    当我实际上将可选实例变量设置为非零时 为什么它是零 Code class FooTests XCTestCase var foo Int func test A setFoo XCTAssertNil foo foo 1 XCTAssert
  • android KSOAP2 HttpsTransport 警告 End mothd [重复]

    这个问题在这里已经有答案了 可能的重复 KSOAP永不超时 https stackoverflow com questions 5489671 ksoap never timeout 我成功地使用 KSOAP2 使用 Web 服务 但 Ec
  • onActivityResult 方法未被调用

    我的 Android 应用程序遇到问题 我不知道为什么按下操作栏中的 向上导航 按钮时没有调用 onActivityResult 方法 我认为我已经做好了一切 父活动使用 startActivityForResult 方法启动子活动 Int
  • 在新环境中重新定义命令

    两个问题 LaTeX 是否允许在一个程序中 重新 定义命令 newenvironment 我尝试过使用 renewcommand newcommand and def in the before声明但无济于事 一个人将如何重新定义 item
  • 将模糊滤镜应用于 BitmapData

    这是我用来使用 BitmapData 模糊图像的代码 该函数被调用Slider changeHandler event Event void事件和滑块的值作为模糊值传递给函数 问题是该函数有效 但似乎是累积的 如果这是正确的词 也就是说 假
  • NSDateformatter 根据 currentLocale setDateFormat

    我可能会因为一个愚蠢的问题而发疯 我有 3 个字符串 年 月 日 我需要根据 currentLocale 获得正确格式的日期 因此 如果 currentLocale localeIdentifier 是 en US 我的 dateForma
  • Laravel 5中如何通过Intervention Image上传大尺寸图片

    我在用着图像干预 http image intervention io 在我的项目中 我的应用程序在上传小尺寸图像时运行顺利 但是当我尝试上传大尺寸图像 gt 2mb 时 我的应用程序停止工作 即使它没有显示出正确的错误 有时它显示Toke
  • 在 SciPy (Python) 中从拟合 PDF 生成随机样本

    使用 scipy stats 给出数据集的拟合分布 类似于 data fetch data file x np linspace 0 100 1000 param scipy stats norm fit data fit pdf scip
  • sys.getsizeof 的深层版本[重复]

    这个问题在这里已经有答案了 我想计算一个对象使用的内存 sys getsizeof很好 但是很浅 例如 在列表上调用 它不会包括列表元素占用的内存 我想写一个通用的 深度 版本sys getsizeof 我知道 深 的定义存在一些含糊之处
  • setLayoutParams 第二次不起作用

    我编写了以下代码 首先增加 ImageView 的大小 并在 100 毫秒后减小同一 ImageView 的大小 但是 此代码会增加 ImageView 的大小 但不会减小其大小 或者 100 毫秒延迟后的代码不会影响 imageView