平板电脑“可绘制”限定符

时间:2013-01-11 05:12:50

标签: 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属性我能够得到drawable但它不能用于休息控件(即ImageView,Button,View等......)
如何设置从平台文件夹中获取图像的ImageView背景?

任何提示/建议欢迎

2 个答案:

答案 0 :(得分:2)

只要您将路径设置为字符串

,一切都很好

即。 icon:'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中,我写了与drawable文件夹相关的文本。

这是我的 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中为该方向重新加载图像,因为默认情况下,通过放置android:configChanges="keyboardHidden|orientation"行,Titanium限制方向已更改在自动生成的清单文件中。

您可以通过将生成的清单文件从“/ build / android /”复制到“/ project directory / platform / android /”

来更改此默认行为

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

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

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

Edit2 ::

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

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

})

享受!!

答案 1 :(得分:0)

在使用Titanium完成一些工作后,我得出结论,Titanium遵循相同的标准来命名drawable,但唯一的区别是在android中我们使用drawable-hdpi但在Titanium中它是res-hdpi