2012-01-16 26 views
0

Androidアプリケーションでボタンのテキストが正しく整列されるのに問題があります。現在、ボタンのテキストは、図のようにボタンの中央にあるテキストの左に揃えられています。ボタン中心の位置合わせ -

|空白|

重力= "center_horizo​​ntal | center_vertical"を使用してみました。私は完全に別のプロジェクトに新しいボタンを追加しようとしましたが、これはまだ成立しています。また、LinearLayoutsとRelativeLayoutsでこれを行います。

ご協力いただきありがとうございます。

レイアウトファイルの1つです。しかし、それは他のプロジェクトを含めてすべてでそれをやっています。また、このレイアウトの3つのボタンにはすべて同じ問題があります。ここで

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<Button 
    android:layout_width="wrap_content" 
    android:text="@string/history_delete_record" 
    android:id="@+id/History_Delete_Record" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_gravity="center_horizontal|center_vertical"></Button> 
<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/History_Delete_Record" 
    android:layout_alignLeft="@+id/History_Delete_Record" 
    android:id="@+id/History_Open_Details" 
    android:text="@string/history_open_record"></Button> 
<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/History_Cancel" 
    android:text="@string/cancel" 
    android:layout_below="@+id/History_Open_Details" 
    android:layout_alignLeft="@+id/History_Open_Details" 
    android:layout_marginTop="19dp"> 
</Button> 
</RelativeLayout> 
+0

私はボタンのいずれかのPICが含まれているだろうが、SO、私はまだ画像を投稿させません。

EDIT は、ここでは、あなたのレイアウトに使用する私の提案XMLコードです。 – cren90

+0

関連するレイアウトXMLを転記できますか? –

+0

はい、レイアウトファイルを追加してください。 – Orest

答えて

0

は中心テキストとボタンのシンプルな実装です:

<Button xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/myBtn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal|center_vertical" 
    android:text="Button text!" /> 

あなたのコードの問題点は、XML属性を使用する必要があるときに、ピクセル単位で幅を設定していることであるandroid:layout_width="wrap_content"それに応じてビューに合うようにボタンテキストをラップします。

ビューの幅をピクセル単位で設定しないでください。これは、画面のサイズと密度が異なるとうまく機能しないためです。 "px"の代わりに、密度に依存しない値の単位 "dp"で幅を指定します。このトピックの詳細については、postを参照してください。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/History_Delete_Record" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:text="@string/history_delete_record" > 
    </Button> 

    <Button 
     android:id="@+id/History_Open_Details" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/History_Delete_Record" 
     android:layout_alignRight="@+id/History_Delete_Record" 
     android:layout_below="@+id/History_Delete_Record" 
     android:text="@string/history_open_record" > 
    </Button> 

    <Button 
     android:id="@+id/History_Cancel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/History_Open_Details" 
     android:layout_alignRight="@+id/History_Open_Details" 
     android:layout_below="@+id/History_Open_Details" 
     android:text="@string/cancel" > 
    </Button> 

</RelativeLayout> 
+0

また、 'android:gravity =" center_horizo​​ntal | center_vertical "という行はここでは必要ないことに注意してください。それを取り出すと、デフォルトでテキストがビューの中央に描画されます。 –

+0

提案通りに幅の値を削除しましたが、問題は残ります。また、ボタンも同じサイズにすることはできません。 – cren90

+0

あなたはボタンのサイズを同じにしたいとは思いませんでした。私はxmlコードを修正しながら1秒間押し続けます。 –

関連する問題