1

使用しているスピナーがエミュレータでは正しく表示されるが、電話では正しく表示されないという問題があります。

これは、電話で撮影したこのスクリーン ショットで最もよく説明できます (「アプリの優先度 1」という言葉の背後にある明るい灰色の背景に注意してください)。

電話に表示されるスピナーのテーマが正しくない

本来あるべき姿はこんな感じです(エミュレーターから取得)。これは、テキストが白で、背景が黒である必要があるためです。

エミュレーターに表示される正しいスピナー テーマ

コードのすべての関連部分が何であるかはわかりませんが、values-v14という単一のファイルを含む というフォルダーがありますstyles.xml。ファイルの内容は次のとおりです。

<resources>
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" />
</resources>

これはスピナー XML です。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="fill_horizontal"
android:orientation="vertical" >

<TextView  
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"      
    android:singleLine="true"
    android:layout_width="150dip"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:textAppearance="?android:attr/textAppearanceMedium"
 />

</RelativeLayout>

マニフェストが関連しているかどうかはわかりませんが、これがあります: android:minSdkVersion="15" android:targetSdkVersion="15"

バージョンを14に設定してみましたが、違いはありませんでした。

更新:android:theme="@style/AppTheme"マニフェストに追加した後、エミュレーターと電話の両方の動作が一貫しています。アクションバーは本来あるべきように暗くなりました。しかし、すべてのリストの背景は白です。

リストの色が正しくない!

4

2 に答える 2

1

の代わりにに変更するAppThemeと、暗い背景が元に戻ります。Theme.HoloTheme.Holo.Light.DarkActionBar

Theme.Holo.Light.DarkActionBarTheme.Holo.Light想像のとおり、より暗いActionBar.

于 2012-09-21T19:25:48.550 に答える
0

エミュレーターは Android 3+ を使用しているのに対し、電話には Android 2.x バージョンの Android が搭載されていると推測しています。つまり、エミュレーターには Holo テーマがあり、電話にはありません。Holo テーマをコピーする独自のテーマを作成するか、Android のバージョンによって外観が異なるという事実を受け入れる必要があります。すべてのバージョンで見栄えを良くすることは間違いなく手間がかかりますが、よりシームレスなエクスペリエンスにもつながります.

于 2012-09-21T18:15:30.473 に答える