开发者

Fluid layout for android

I'm targeting android but I don't know how to la开发者_运维知识库yout the UI so it works for all devices. How do I do this?

I have a TextField with a Button for searching and the search results are displayed below in a TableView below. So I have a table view but the bottom is cut off.

this.searchResults = Ti.UI.createTableView({
        top:'70px',
        height:'450dp'
    });

As you can see from the code above I clearly dont know how to do this. How do you lay things out for android?


You can set top/bottom/left/right values. If you want the table to stop at the bottom edge of the screen, you could set bottom: 0. It's the same for iOS.


If I'm working on Android stuff, and I want it to resize proportionate to the size of the screen I often use percentages. So

this.searchResults = Ti.UI.createTableView({
    top:'10%',
    height:'90%'
});

Alternatively, If you want pin point accurate calculations, you can ask appcelerator for the platform width and height, and resize things proportionately yourself. Like so:

var height = Ti.Platform.DisplayCaps.platformHeight; //Screen height in pixels
this.searchResults = Ti.UI.createTableView({
    top:'75dp',
    height: (height - (75 * Ti.Platform.DisplayCaps.logicalDensityFactor)) //height - 75dp converted to pixels
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜