でAppceleratorのがAndroidとiOSプラットフォームの高さIは、Appceleratorのチタンフレームワークとアプリをテストしようと思い、私は、画面上のビューを中央にあります。チタンピクセルとDP
私のindex.xml:
<Alloy>
<!-- Anddroid Window -->
<Window id="index" platform="android">
<Require type="view" id="firstscreen" src="firstscreen"/>
</Window>
<!-- iOS Window -->
<NavigationWindow id="nav" platform="ios">
<Window id="win1" backgroundColor="white">
<Require type="view" id="firstscreen" src="firstscreen"/>
</Window>
</NavigationWindow>
firstscreenのxml:
の
<Alloy>
\t <ScrollView scrollingEnabled="false" contentWidth="Ti.UI.FILL">
\t \t <ImageView class="fullBgImage" image="/images/login/bg2.png" />
\t \t <View layout="vertical">
\t \t \t <View id="loginView" class="heightAuto" layout="vertical">
\t \t \t \t <ImageView id="localImage" image="/images/logo.png" />
\t \t \t \t <Label class="logoLabel" text="Karma" />
\t \t \t \t <Label class="logoSlogan" text="Faits confiance à votre Karma pour booster votre carrière" />
\t \t \t \t <View class="btn btnVert" onClick="openCandidat"><Label class="btnLabel" text="Je recherche un job" /></View>
\t \t \t \t <View class="btn btnBlanc" ><Label class="btnLabel bleu" text="Je suis recruteur" /></View>
\t \t \t </View>
\t \t </View>
\t </ScrollView>
</Alloy>
index.js: 式達成するためには、次のとおりviewTopPosition =(platformheight - viewheight)/ 2
if (OS_ANDROID) {
\t $.index.addEventListener('open', after_win_load);
\t $.index.open();
} else {
\t $.nav.addEventListener('open', after_win_load);
\t $.nav.open();
}
function after_win_load() {
\t // Platform height
\t var platformHeight = Ti.Platform.displayCaps.platformHeight;
\t // The view
\t var firstscreen = $.firstscreen;
\t /* Taille du logo */
\t firstscreenViewHeight = firstscreen.loginView.size;
\t /* Centrer la vue verticalement */
\t firstScreenTop = platformHeight - firstscreenViewHeight.height;
\t //firstscreen.top = firstScreenTop;
\t
\t var style = $.createStyle({
\t \t classes : 'firstScreenTop',
\t \t apiName : 'View',
\t \t top : firstScreenTop/2
\t });
\t firstscreen.loginView.applyProperties(style);
}
IOSオン見栄えが良く、視界は垂直に立てられていますが、アンドロイD:私はアンドロイドであることを知っている
<property name="ti.ui.defaultunit" type="string">dp</property>
:Ti.Platform.displayCaps.platformHeightは私がすでに指定された私のtiapp.xmlファイルに1920
=大きすぎるピクセル値であり、ピクセルユニットですが、iOSはdpユニットを使用していますので、どうすればいいですか?誰かがアイデアを持っている? は今のところAndroid用私は
var platformHeight = Ti.Platform.displayCaps.dpi;
へ
var platformHeight = Ti.Platform.displayCaps.platformHeight;
を置き換えしかし、それはすべてのAndroidの画面解像度のために良いだろう場合、私は自分自身を頼みますか?これがベストプラクティスならば?
ありがとうございます。
こんにちは、応答のための おかげにトップを設定することができますスクリーントップ、または私は間違っていますか? – user44321
1) 'Ti.Platform.displayCaps.logicalDensityFactor'は、最近のSDKのiOSでも利用できます。 2)実際には、これは50%ダウンします。 3)コンポジション/アブソリュートレイアウト(デフォルト)のデフォルトは、子供をセンタリングするためのものです。 –
それは素晴らしいです。どうもありがとうございました。 – Kerberos