2014-03-25 70 views
1

如何讓文字出現在下一個按鈕上,而不是在按鈕上?Android按鈕文字定位

這裏是什麼,我需要一個截圖:

enter image description here

你可以看到的第一個按鈕的文本。它寫在按鈕上,我不能從它移動它(除了改變重力,但它不是真的是我之後)。 在第二個按鈕旁邊,我貼上了一個標籤,作爲我想達到的目標的指導原則。

在Android中有這樣做的方法嗎?它在ObjectiveC中非常簡單。

回答

3

您可以使用TextView而不是按鈕。
TextViews是可點擊的,與按鈕的方式非常相似。

而聽衆的分配方式與您使用按鈕的方式相同。
因此,需要對代碼進行非常小的更改(重命名控件前綴並將按鈕類型從Button更改爲TextView,這實際上是一項簡單的任務)。

可以被拉伸添加到它,通過指定屬性android:dawableLeft="@drawable/my_icon",對於左側圖形

您可以使用drawableLeft和/或drawableRigth和/或drawableTop和/或drawableBottom。
您可以指定drawablePadding,在圖形和文本之間添加一些空格

這是一個最佳實踐,可以使您的設計層次儘可能平整。

請注意,您不限於圖片...您也可以使用xml drawables!

+1

正是我在找的東西;) – SteBra

+1

我每次都用它 - 這是一個救星!請注意,你不限於圖片......你也可以使用xml drawables! –

0

您可以將第二個ButtonTextView包裝在水平線LinearLayout中。這將導致文本位於按鈕的右側。

+1

這將在層次結構中增加另一個層次,而更好的設計指導方針則表示儘可能使設計變平坦。 –

0

嘗試相對佈局。有一個屬性align_leftof

0

可以使用RelativeLayout包裝的兩個元素,方便地使用layout_rightOf來定位TextView旁邊Button,希望它有助於:)

0

類似的東西:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <Button 
     android:id="@+id/btn1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Button1"/> 
    <Button 
     android:id="@+id/btn2" 
     android:layout_below="@id/btn1" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:text="Button2"/> 
    <TextView 
     android:layout_below="@id/btn1" 
     android:layout_width="40dp" 
     android:layout_height="80dp" 
     android:text="Text" 
     android:gravity="center" 
     android:layout_toRightOf="@id/btn2"/> 

    </RelativeLayout> 

這不是完美的例子,但我希望它有幫助。