0

合金を使用してチタン製のモバイル アプリに取り組んでおり、さまざまな画面をサポートするために dp 単位を使用していますが、アプリを低 dpi (160) デバイスで実行すると UI がスケーリングされないため、何かが正しく機能しません。

次の画像は、480 dpi デバイスでアプリが表示され、適切にスケーリングされている様子を示しています。このスクリーンショットは、genymotion エミュレートされたデバイスから取得されました。

サムスン S4 - 4.2.2 - API 17 - 1080 x 1920 - 480 dpi

以下のデバイスでも試しましたが、正常に動作しています。

  • サムスン S3 - 4.2.2 - API 17 - 720 x 1280 - 320 dpi
  • サムスン S2 - 4.1.1 - API 16 - 480 x 800 - 240 dpi
  • Google Galaxy Nexux - 4.3 - API 18 - 768 x 1280 - 320 dpi
  • Samsung Galaxy Note 3 - 4.3 - API 18 - 1080 x 1920 - 480 dpi
  • ソニー Xperia タブレット Z - 4.1.1 - API 16 - 1920 x 1200 - 320 dpi

問題は、UI が小さすぎてスケーリングされていないように見えるため、160 dpi デバイスでは正しく動作しないことです。

ソニー Xperia タブレット S - 4.1.1 - API 16 - 1280 x 800 - 160 dpi

Custom Phone - 4.3 - API 18 - 768 x 1280 - 160 dpi でもテストしましたが、まったく同じに見えます。

(申し訳ありませんが、評判ポイント 10 ルールのため、リンクを投稿できません。スクリーンショットをもっと提供できます)

実際のデバイスでテストしましたが、同じ問題が発生しています。samsung Galaxy 電話ではうまく表示されますが、samsung Galaxy タブでは機能しません。

私が何を間違っているのか、何が欠けているのか誰かが知っていますか? iOS でも正常に動作しているため、これは Android のみの問題のようです。

これは、tiapp.xml のマニフェスト タグのコードです。

<manifest>
    <!-- Allows the API to download data from Google Map servers -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- Allows the API to cache data -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!-- Use GPS for device location -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <!-- Use Wi-Fi or mobile connection for device location -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <!-- Allows the API to access Google web-based services -->
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <!-- Specify OpenGL ES 2.0 as a requirement -->
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    <!-- Replace com.domain.appid with your application ID -->
    <uses-permission android:name="com.vivelabbogota.guiadetramitesvivelabbogota.MAPS_RECEIVE"/>
    <permission android:name="com.vivelabbogota.guiadetramitesvivelabbogota.MAPS_RECEIVE" android:protectionLevel="signature"/>
    <application>
        <!-- Replace "PASTE YOUR GOOGLE MAPS API KEY HERE" with the Google API key you obtained -->
        <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="removed_for_stackoverflow"/>
    </application>
    <activity
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:label="@string/app_name"
        android:name=".GuiaDeTramitesActivity" android:theme="@style/Theme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <!-- Need to specify at least API level 11 for Titanium SDK 3.2.x and prior -->
    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16"/>
</manifest>

要素とフォントのサイズに .tss スタイル シートを使用しています。コントローラーでサイズを計算しておらず、実行したくありません。まったく新しいプロジェクトでテストを行い、そこでも発生したため、これは私のプロジェクトに関連するものではないと思います。

ご協力いただきありがとうございます。

4

0 に答える 0