0

メインレイアウトの背景を設定し、そこにコンテンツを入れたいと思います。問題:コンテンツは背景全体を塗りつぶすように設定されていますが、完全に数ピクセルに圧縮されています。

更新:背景に9パッチの画像を使用しました。

これが私のコードです:

    <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"  
    android:gravity="center"
    android:background="@drawable/badgeandroid"
    android:layout_marginLeft="20sp"
    android:layout_marginRight="20sp"
    android:layout_marginBottom="20sp"
    >


    <LinearLayout 
    android:id="@+id/contentbadge"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"  
    android:gravity="center"
    android:layout_margin="10sp"
    >

   <TextView 
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"   
    android:text="Your badge pocket is empty"
    android:textColor="#FFFFFF"
    android:textSize="25sp"
    android:textStyle="bold" 
    android:gravity="center"
   ></TextView>

    </LinearLayout >

    </LinearLayout >
4

3 に答える 3

0

レイアウトの余白が正しくありません。「sp」->スケーリングされたピクセルを使用しています。これはテキストの寸法です。使用する必要があるのは、「dp」または「dip」(どちらも同じ)->密度に依存しないピクセルです。

于 2012-07-20T16:05:39.230 に答える
0

さて、私はついに解決策を見つけました。9パッチはすべてを台無しにします。ここに答えてください。

パディングを追加して削除し、9patchに含めます。

      <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"  
    android:gravity="center"
    android:background="@drawable/badgeandroid"
    android:layout_margin="0dp"
    >


    <LinearLayout 
    android:id="@+id/contentbadge"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"  
    android:gravity="center"
    android:layout_margin="10sp"
    >

   <TextView 
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"   
    android:text="Your badge pocket is empty"
    android:textColor="#FFFFFF"
    android:textSize="25sp"
    android:textStyle="bold" 
    android:gravity="center"
   ></TextView>

    </LinearLayout >

    </LinearLayout >

RomainGuyがその理由をここで説明します。

于 2012-07-20T16:12:02.773 に答える
0

このコードで試してください

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="20dip"
    android:layout_marginLeft="20dip"
    android:layout_marginRight="20dip"
    android:gravity="center"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/contentbadge"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dip"
        android:gravity="center"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Your badge pocket is empty"
            android:textColor="#FFFFFF"
            android:textSize="25dip"
            android:textStyle="bold" >
        </TextView>
    </LinearLayout>

</LinearLayout>
于 2012-07-20T16:14:17.817 に答える