【问题标题】:Why do Images in Android aren't being shown on a TableView?为什么 Android 中的图像没有显示在 TableView 上?
【发布时间】:2023-04-05 12:38:01
【问题描述】:

我正在开发 Titanium 2.1.3 并为 iOS 和 Android 进行部署。 我在 TableView 中的 Android 上的 ImageView 上显示图像时遇到问题,如果我执行诸如单击搜索栏并显示键盘之类的操作,则显示图像,或者如果我滚动 TableView,图像会出现并消失而没有明显的原因。似乎除非我在 TableView 上执行强制刷新布局的操作,否则不会呈现图像。 图像在 Android 和 iOS 中的加载方式相同,如下所示:

var itemIconHolder = Titanium.UI.createView({
    width : '100dp',
    left : '55dp',
    height : "100%"
});

var itemIcon = Titanium.UI.createImageView({
    left : '0dp',
    height : '100%',
});

var f = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, "thumb-" + filename);
itemIcon.image = f;

itemIconHolder.add(itemIcon);

此问题在 iOS 中不会发生,在 iOS 设备/模拟器上行为正常且完美无缺,但在 Android 设备/模拟器上会发生。 我必须在 Android 中以不同方式加载图像吗?我错过了什么吗?我希望有人能在这方面帮助我。 提前致谢。

编辑

我尝试了这些方法:

itemIcon.image = f.read();

itemIcon.image = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, "thumb-" + filename);

但是直到我做了一些导致 TableView 以某种方式刷新的东西之前,图像仍然不会被渲染。

【问题讨论】:

  • 你试过itemIcon.image = f.read();吗?
  • 是的,我也试过了,但没有任何改变。
  • 你为什么用2.1.3?它非常古老,从那时起已经修复了许多与 tableViews 相关的错误。我建议你看看 appcelerator JIRA。在另一个现在,您能否提供有关您的 tableView 代码的具体信息
  • 因为 3.1 会让我们失去对 Android 2.2 及更低版本的支持,目前我们也想为这些用户提供支持。

标签: android titanium android-imageview titanium-mobile appcelerator-mobile


【解决方案1】:

我在 Android 上找到了针对此特定问题的解决方法。 由于要正确渲染图像需要进行布局刷新,所以我所做的是对表格进行动画处理,将其 1dp 朝一个方向移动,并在完成所述动画时再次对其进行动画处理以将其返回到原始位置。这是我使用的代码:

var table_bottom = '-1dp'

var tableAnimation = Ti.UI.createAnimation({
    bottom : table_bottom,
    duration : 100
});
tableAnimation.addEventListener('complete', function(e){
    var table_bottom = '50dp';
    if (osname === 'android') 
    {
        table_bottom = '0dp'
    }
    table.animate({
        bottom : table_bottom,
        duration : 100
    });
});

Titanium SDK 2.1.3 和 Titanium 3.0 都遇到过这种问题。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    相关资源
    最近更新 更多