2016-04-13 14 views
0

イメージの下にテキストを配置しようとしていますが、テキストがイメージの上に重ねて表示されています。Android:ボタンの下にテキストを配置する

<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/snap" 
     android:textColor="#FFFFFF" 
     android:id="@+id/shutterButton" 
     android:paddingTop="32sp" 
     android:drawablePadding="-22sp" 
     android:text="SNAP"></Button> 

OUTPUT enter image description here

どのように私は、画像の下にテキストを配置にしてください。多くのおかげで

答えて

2

使用android:drawableTop="@drawable/snap"の代わりに、android:background="@drawable/snap"とあなたのテキストの上描画可能なを描くの面倒をandroid:drawableTopandroid:paddingTop="32sp"android:drawablePadding="-22sp"

プロパティを取り除きます。私はPercentRelativeLayoutを使用 注:例えば

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawableTop="@drawable/snap" 
    android:textColor="#FFFFFF" 
    android:id="@+id/shutterButton" 
    android:text="SNAP" /> 
+0

背景ボタンの効果を取り除くために背景を透明に設定することはできますか? – Blaze

+0

はい、できます。android:background = "#00FFFFFF" ' – Blackbelt

1
<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:drawableTop="@drawable/snap" 
     android:textColor="#FFFFFF" 
     android:id="@+id/shutterButton" 
     android:paddingTop="32sp" 
     android:drawablePadding="-22sp" 
     android:text="SNAP"></Button> 
1

これは私がこれを達成するために使用するものです。

<Button 
    android:text="@string/Tesksten" <-- and of course the text. 
    android:id="@+id/btContent" 
    android:drawableTop="@drawable/ic_menu" <-- display icon on top 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    app:layout_heightPercent="16%" 
    app:layout_widthPercent="100%" 
    android:textColor="#000000" 
    android:background="#f0f0f0" 
    android:textStyle="bold" 
    android:alpha="0.65" 
    android:layout_marginBottom="10dp"/> 

それがどのように見えるか:

Example

0
私はボタンとテキストフィールドとして別々の容器を入れ、その後、垂直方向とのLinearLayoutでそれらの両方を置きます

`

<LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@+id/textView" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="87dp"> 

     <Button 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/snap" 
      android:id="@+id/buttonCamera" /> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:text="SNAP" 
      android:id="@+id/textSnap" 
      android:textAlignment="center" /> 
    </LinearLayout> 

+1

drawableTopを好むでしょう –

+0

ああ、なぜですか?利点は何ですか?または、なぜそれを好むでしょうか? –

+1

上記のコードには、LinearLayout、Button、TextViewの3つのクラスがあり、必要に応じて表示できます。そしてdrawableTopはボタンだけを必要とします。処理が減少し、利用可能なリソースの最適な使用 –

関連する問題