android - 平板电脑 "drawable"限定符

标签 android titanium

针对手机+平板的Titanium项目,完美完成了手机版本,但在平板设计时面临一些复杂性。

下面是 Titanium 支持的限定符矩阵,但找不到任何针对 Android-Tablet 的限定符

enter image description here

我发现你可以通过将东西放在“platform>android>res”目录中来强制应用Android资源。

var tab = Titanium.UI.createTab({  
    icon:Ti.App.Android.R.drawable.tab_icon
});

使用 Tab 及其 icon 属性,我可以获得可绘制对象,但它不适用于其余控件(即 ImageView、Button、View 等...)
如何设置从平台文件夹获取图像的 ImageView 的背景?

欢迎任何提示/建议

最佳答案

一切都很好,只是您将路径设置为字符串

即。 图标:'Ti.App.Android.R.drawable.tab_icon'。

相反,您必须像下面一样设置图像。

icon:Ti.App.Android.R.drawable.tab_icon

编辑

我找到了处理 Android 多分辨率的解决方案。

这是我放入 resources/android/images 文件夹中的资源

You can see image

在此图像中,我为每种类型的可绘制文件夹创建了不同的图像。 您可以在所有文件夹中看到bg.png。在 bg.png 中,我编写了与可绘制文件夹相关的文本。

这是我的 app.js 文件,用于在 imageView 中显示图像

Titanium.UI.setBackgroundColor('#000');

var win1 = Titanium.UI.createWindow({  
    title:'Tab 1',
    backgroundColor:'#fff'
});

var view  = Ti.UI.createImageView({
    width : Ti.UI.SIZE,
    height : Ti.UI.SIZE,
    image : '/images/bg.png'

})

win1.add(view);
win1.open();

现在在您的设备中运行应用程序并检查您在 ImageView 中获取的图像。

注意:: 加载窗口后,如果您要更改方向,它将不会重新加载该方向的 ImageView 中的图像,因为默认情况下,Titanium 通过放置 android:configChanges 来限制方向更改自动生成的 list 文件中的 ="keyboardHidden|orientation" 行。

您可以通过将生成的 list 文件从“/build/android/”复制到“/project directory/platform/android/”来更改此默认行为

复制此文件后,从“/project directory/platform/android/”目录中打开 list 文件并删除上面的行(android:configChanges="keyboardHidden|orientation")。

保存文件并运行应用程序,现在您还可以检查多方向。

对于平板电脑,您还可以将图像保存在 res-port-largeres-port-xlargeres-land-largeres-land-xlarge 分别用于纵向和横向。

编辑2::

还有另一种方法可以解决这个问题。 在项目的根目录中创建以下文件夹。

Resources
platform
    -> res
        -> drawable
        -> drawable-ldpi
        -> drawable-mdpi
        -> drawable-hdpi
        -> drawable-xhdpi

现在将所有图像放入相应的文件夹中。

现在,您可以通过 javascript 文件执行以下代码来访问这些文件。

var view  = Ti.UI.createImageView({
    width : Ti.UI.SIZE,
    height : Ti.UI.SIZE,
    image : Ti.App.Android.R.drawable.icon //Here icon is available to all above folders which we have created in /platform/res

})

享受吧!!

关于android - 平板电脑 "drawable"限定符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14272110/

相关文章:

javascript - close window and open a new window 钛合金

titanium - Appcelerator Titanium - 无法在 Android 上运行

javascript - JSON.stringify 忽略我的嵌套对象

android - 使 LinearLayout 将其高度调整为高度为 "wrap_content"的 TextView

java - 为什么我的 List<Long> 包含整数?

java - 如何覆盖 ExpandableListView 的子 ListView

java - ArrayAdapter 帮助,使用从方法返回的字符串数组填充

android - 如何在 Titanium 中使用 Android Material Theme Design 属性(彩色状态栏,...)

android - 向特定用户发送 GCM 消息

javascript - 使用钛金属半径网络进行信标检测