2012-07-30 34 views
0

我的按鈕中的文字有問題。當應用程序在大屏幕的移動設備上運行時,一切都很好。爲了在小屏幕上看到所有組件,我在按鈕和其他組件上設置了重量。按鈕後壓縮的文字是不是在中心,但按鈕將按鈕中的文字居中

XML文件(我猜壓縮剪切垂直尺寸從底部。):

 <LinearLayout 
      android:id="@+id/layout_image" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_gravity="center" 
      android:layout_weight="1" 
      android:background="@drawable/word_milk" 
      android:gravity="center" 
      android:orientation="vertical" 
      android:visibility="visible" > 

      <ImageView 
       android:id="@+id/iv_cross" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/cross_small" 
       android:visibility="invisible" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/layout_buttons" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:focusable="true" 
      android:gravity="center_vertical" 
      android:orientation="vertical" 
      android:visibility="visible" > 

      <Button 
       android:id="@+id/b1" 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:layout_marginLeft="10dp" 
       android:layout_marginRight="10dp" 
       android:layout_marginTop="11dp" 
       android:layout_weight="1" 
       android:background="@drawable/shape_swarthy_green" 
       android:gravity="center" 
       android:maxHeight="45dp" 
       android:onClick="B1Click" 
       android:textColor="@color/Color_White" 
       android:textSize="@dimen/TextSize_word" /> 

      <Button 
       android:id="@+id/b2" 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:layout_gravity="center" 
       android:layout_marginLeft="10dp" 
       android:layout_marginRight="10dp" 
       android:layout_marginTop="11dp" 
       android:layout_weight="1" 
       android:background="@drawable/shape_swarthy_green" 
       android:gravity="center" 
       android:maxHeight="45dp" 
       android:onClick="B2Click" 
       android:textColor="@color/Color_White" 
       android:textSize="@dimen/TextSize_word" /> 

      <Button 
       android:id="@+id/b3" 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:layout_gravity="center" 
       android:layout_marginBottom="11dp" 
       android:layout_marginLeft="10dp" 
       android:layout_marginRight="10dp" 
       android:layout_marginTop="11dp" 
       android:layout_weight="1" 
       android:background="@drawable/shape_swarthy_green" 
       android:gravity="center" 
       android:maxHeight="45dp" 
       android:onClick="B3Click" 
       android:textColor="@color/Color_White" 
       android:textSize="@dimen/TextSize_word" /> 
     </LinearLayout> 
    </LinearLayout> 

截圖:我設置文字大小24sp的第一個按鈕,26sp第二,28sp thirth與文本「llllll」爲更好的ilustration的行爲。

enter image description here

謝謝你的幫助。

+2

你可以用你的xml代碼更新這個問題,以便我們可以找出問題所在。 – vinaykumar 2012-07-30 14:36:15

+0

也將很好的截圖,看看問題本身。 – 2012-07-30 15:01:26

回答

0

我的猜測是你沒有改變文本大小,所以在其他設備上文本試圖適合按鈕,但它不能,因爲按鈕太小。如果是這種情況,請根據屏幕爲文本大小設置不同的尺寸。

但是,由於這裏沒有代碼或屏幕截圖,因此我無法確定是否屬於這種情況。

+0

我不會發生這種情況。我已更新問題。 – vlkpo 2012-07-31 06:35:50

+0

好吧,我看了一下xml,發現:1.忘記將LinearLayout的子項的高度設置爲0px(因爲它們有重量)。 2.您基於屏幕設置文字大小,但沒有以相同方式處理邊距。 – 2012-07-31 07:33:51

+0

謝謝我改變了它,但結果是一樣的。你的第二點是合理的,我會重拍它,但它與按鈕文字位置沒有任何關係。 – vlkpo 2012-07-31 08:36:39

0

與填充嘗試希望此舉能爲你工作...

<Button 
      android:id="@+id/b2" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_gravity="center" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="11dp" 
      android:layout_weight="1" 
      android:background="@drawable/shape_swarthy_green" 
      android:gravity="center" 
      android:maxHeight="45dp" 
      android:onClick="B2Click" 
      android:textColor="@color/Color_White" 
      android:textSize="@dimen/TextSize_word" 

      // add padding here 

      android:paddingTop="10dip" 
      android:paddingBottom="10dip"     


/> 
+0

它向下移動文本並剪切底部邊距,以便文本沒有下降的部分。 – vlkpo 2012-07-31 10:01:48

1

設置按鈕屬性安卓重力=「中心」 集屬性轉換成Java文件還btn.setGravity(Gravity.CENTER);

+0

android:gravity =「center」已經存在,並且在向java添加代碼之後 - 沒有變化。 – vlkpo 2012-07-31 11:36:30