2014-02-08 79 views
0

XML:通過圖形佈局上面的代碼設計爲什麼文本不顯示在按鈕的中心?

<LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="5dp" 
       android:gravity="center" 
       android:orientation="horizontal" > 

       <Button 
        android:id="@+id/btnRecord" 
        android:layout_width="90dp" 
        android:layout_height="80dp" 
        android:gravity="center" 
        android:text="●" 
        android:textColor="#C63E3B" 
        android:textSize="40sp" /> 

       <Button 
        android:id="@+id/btnPlay" 
        android:layout_width="90dp" 
        android:layout_height="80dp" 
        android:gravity="center" 
        android:text="▶" 
        android:textColor="#000000" 
        android:textSize="40sp" /> 

       <Button 
        android:id="@+id/btnS" 
        android:layout_width="90dp" 
        android:layout_height="80dp" 
        android:gravity="center" 
        android:text="■" 
        android:textColor="#000000" 
        android:textSize="40sp" /> 
      </LinearLayout> 

結果是: enter image description here

但是,當我真正的手機上運行,​​它是不是在中央顯示: enter image description here

爲什麼文本沒有顯示在按鈕的中心?

+0

向我們展示您的'MainActivity.java'文件? –

+0

文件MainActivity.java:僅設置btnPlay =(Button)findViewById(R.id.btnPlay); \t \t btnPlay.setEnabled(false); \t \t btnPlay.setTextColor(Color.parseColor(「#777777」)); – mum

+0

@mum,你可以探索它的'onDraw'方法。當您顯示特殊字符時,猜測基線是不同的 – suitianshi

回答

1

您可以看到play符號居中,但cirlerectangle不是。這是因爲這個sign不是居中符號的這種字體。 (嘗試在您的瀏覽器中突出顯示「■」這個符號,並且看到底部的空間比頂部少)

改爲使用圖像。

0

它更好地使用相同的尺寸圖像,而不是特殊的charz。也可以嘗試申報的灰色背景顏色,而不是按鈕點擊的TextView只是爲了看看會發生:

<LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="5dp" 
       android:gravity="center" 
       android:orientation="horizontal" > 

       <TextView 
        android:clickable="true" 
        android:id="@+id/btnRecord" 
        android:layout_width="90dp" 
        android:layout_height="80dp" 
        android:gravity="center" 
        android:text="●" 
        android:textColor="#C63E3B" 
        android:textSize="40sp" /> 

       <TextView 
        android:clickable="true" 
        android:id="@+id/btnPlay" 
        android:layout_width="90dp" 
        android:layout_height="80dp" 
        android:gravity="center" 
        android:text="▶" 
        android:textColor="#000000" 
        android:textSize="40sp" /> 

       <TextView 
        android:clickable="true" 
        android:id="@+id/btnS" 
        android:layout_width="90dp" 
        android:layout_height="80dp" 
        android:gravity="center" 
        android:text="■" 
        android:textColor="#000000" 
        android:textSize="40sp" /> 
      </LinearLayout> 

還可以使用可繪製在XML聲明的形狀,使圓,矩形等

0

我的胡亂猜測您的「播放」按鈕與其他兩個按鈕位於不同的drawable文件夾中,因爲它看起來略小。嘗試檢查出來。

相關問題