3

背景用に 9 パッチの画像があります。802px x 286px (9patchtools によって自動的に追加された両方で 2px) です。

main.xml は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/crown"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/crown">
<ListView
    android:id = "@+id/mainmenulist"
    style="@style/MainMenuList"
    android:dividerHeight="2.5dp"/>
</RelativeLayout>

styles.xml は次のようになります。

<resources
xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MainMenuList">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">fill_parent</item>
    <item name="android:cacheColorHint">@android:color/transparent</item>
    <item name="android:listSelector">@android:color/transparent</item>
    <item name="android:divider">@null</item>
    <item name="android:gravity">right</item>
</style>
<style name="MainMenuRow">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">#000000</item>
    <item name="android:gravity">right|center</item>
    <item name="android:padding">0dp</item>
</style>
</resources>

値フォルダーの themes.xml:

<resources
xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="android:Theme.Light.NoTitleBar.Fullscreen">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@color/mycustomblue</item>
</style>
</resources>

manifest.xml の mpart:

<application android:label="@string/app_name"
    android:icon="@drawable/ic_launcher"
    android:theme="@style/AppTheme">

それは行の画像です:

それは背景(王冠)画像です:

出力は次のようになります。

しかし、それは次のようになります。

私の質問は次のとおりです。

  1. 背景用の私の9パッチ画像は802x286です。私のデバイスは、android 4.0.4 および 720x1280(WxH) の Galaxy S3 です。画像は幅に合わせて縮小できますか? (つまり、200x200 のデバイスに 100x100 の 9 パッチ イメージを使用すると、その良さとスケールアップがわかりました。しかし、問題は、50x50 のデバイスに使用するとどうなるかということです)。

  2. アプリケーションが全画面表示にならないのはなぜですか?

  3. サンプル テキストが中央と右に配置されていないのはなぜですか?

  4. 行イメージの拡大が不当なのはなぜですか?

4

1 に答える 1

3
  1. 部分を水平方向に拡大縮小するように指示しないと、9つのパッチを適用した画像は縮小または拡大されないと思います.画像はそれらの2pxesからのみ拡大縮小されるため、最小幅は798pxです。

  2. android:windowNoTitle は、ステータス バーではなく、タイトル バーを表示するかどうかを制御します。タイトル バーはアクティビティの一部ですが、ステータス バーはシステムの一部です。たぶん必要なもの android:windowFullscreen

    <!-- Variant of {@link #Theme} with no title bar -->
    <style name="Theme.NoTitleBar">
        <item name="android:windowNoTitle">true</item>
    </style>
    
    <!-- Variant of {@link #Theme} that has no title bar and no status bar -->
    <style name="Theme.NoTitleBar.Fullscreen">
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>
    
  3. 右と中央が競合しています。right|center_vertical を使用できます。リストアイテムとして単一のTextViewを使用していますか、リストアイテムのレイアウトを提供できますか

  4. これは、テーマの android:listPreferredItemHeight プロパティが原因である可能性があります。明示的な layout_height を使用すると、この問題が解決する場合があります。

于 2012-10-25T06:35:30.993 に答える