0

内部に a と a がネストされていRelativeLayoutますProgressBarTextViewの背景はRelativeLayout9patch イメージで定義されていますが、子ビューは 9patch イメージのコンテンツ領域に適切に従っていません。代わりに、9patch イメージでコンテンツ領域が定義されていない場合に表示される場所に表示されます。

これが私のレイアウトです:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:background="@+drawable/loading_screen" 
    android:padding="0dip" >

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_above="@+id/progressBar1"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="@string/loading"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@android:color/black" />

</RelativeLayout>

そして、これが私の9patchファイルです:

私の9パッチファイル

4

1 に答える 1

0

9patch 画像で定義されたコンテンツ領域は、UI コンポーネントが配置される場所とはまったく関係がなく、指定された領域を埋めるために画像を引き伸ばす方法を定義するだけです。UI コンポーネントの配置を 9patch 画像と一致させるには、適切なパディングを に追加する必要があります。RelativeLayoutつまり、左/右/上/下のパディング サイズが 9patch 画像の 4 辺と同じにする必要があります。

于 2012-04-26T03:17:30.157 に答える