2

親と一致し、画像が中央にテキストが上にあるボタンを描画したいのですが、結局私は得ました

<Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:center="center_vertical|center_horizontal"
        android:drawableTop="@drawable/ic_launcher"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/button1" />

これにより、テキストを中央に配置し、画像をボタンの上に配置できます。必要に応じて設定する方法.? xml の方法で可能であれば、カスタム ボタンを作成したくない

4

4 に答える 4

4

ボタンの代わりに画像ボタンを試してから、下にテキストビューを追加しましたか。

<RelativeLayout
    android:id="@+id/relId"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true">

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:src="@drawable/image" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageButton"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:text="@string/text" />
</RelativeLayout>

必要に応じてテキストビューの下マージンを調整します。

于 2013-09-16T08:51:13.277 に答える
0

これを試して:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    style="@android:style/Widget.Button"
    android:orientation="vertical"
    android:gravity="center">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
        android:adjustViewBounds="true"/>


    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Text"
        android:layout_marginTop="5dp"
        android:textColor="@android:color/black" />

</LinearLayout>
于 2013-09-16T08:57:21.470 に答える
0

相対レイアウトでも同じことができます。相対レイアウトを持ち、その中にアイコンランチャーとして描画可能なイメージビューを持ち、そのイメージビューのレイアウトの重力をcenterhorizo​​ntal | centerVerticalとして設定し、相対レイアウト内にテキストビューを持ち、それをボタンの上部に揃えます。relativelayout のクリッカブルを true にして、ボタンのように機能させることができます。あなたのxmlはやや似ているかもしれません

<RelativeLayout
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    style="@android:style/Widget.Button"
>

<TextView android:id="@+id/top_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:alignParentTop=”true”
    android:text="@string/text"/>

<ImageView android:id="@+id/center_image"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:src="@drawable/image"
    android:layout_below=" @+id/top_text "
    android:layout_gravity="center_vertical|center_horizontal"/>

</RelativeLayout>

また、これを単一のボタンで実行する場合は、次を使用します

 <Button android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button1"
    android:visibility="visible"
    android:text="@String/text"
    android:drawableBottom="@drawable/ic_launcher"
    android:gravity="top"
    android:layout_gravity="center_vertical|center_horizontal"/>

これが役立つことを願っています。

于 2013-09-16T09:12:54.923 に答える