针对手机+平板的Titanium项目,完美完成了手机版本,但在平板设计时面临一些复杂性。
下面是 Titanium 支持的限定符矩阵,但找不到任何针对 Android-Tablet 的限定符
我发现你可以通过将东西放在“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
文件夹中的资源
在此图像中,我为每种类型的可绘制文件夹创建了不同的图像。 您可以在所有文件夹中看到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-large
或 res-port-xlarge
和 res-land-large
或 res-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/