2011-01-31 10 views
9

私はtextviewに基づいてコントロールのようなトーストを作成しようとしています。9つのパッチバックグラウンドを持つパディングのarround textviewには視覚的な効果がありません

これは、XML定義です:

<by.pplware.view.QuickInfo 
    android:id="@+id/quickinfo" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:padding="20px" 
    android:textSize="20px" 
    android:textStyle="bold" 
    android:typeface="serif" 
    android:background="#FFFF0000" 
/> 

これは色の背景とのTextViewです: enter image description here

これは描画可能なバックグラウンドを持つのTextViewです: enter image description here

私は理解しているように、ninepatchの場合背景のアンドロイドはパディングを透明にし、drawableはテキストの背景としてのみ使用します。しかし、私はnineパッチバックグラウンドで覆われた領域にパディングを含めたいと思う。

この問題の解決方法はありますか?

答えて

26

これらのいずれかをお試しください:「アンドロイド:背景」を経由して、バックグラウンドninepatchを設定

  1. XMLプロパティの代わりに、プログラム的。これはXML定義のパディングと連携します。
  2. バックグラウンドをプログラムで設定する必要がある場合は、背景を設定した後にパディングを再設定してみてください(パディングを設定して背景を設定した場合、nineパッチ自体で定義されているパディングが優先されます)。
  3. 問題を回避し、ninepatchイメージ(それは右と下の黒いバーです)にパディングエリアを設定するだけです。
+1

コメントありがとうございます - 1と2のrealy help。 –

+3

3が最高だと私は言うだろう – kishu27

+1

私は9パッチを設定する前にパディング値を保存し、上記の2のようにパディングをリセットすることでこれを回避しました。 –

関連する問題