11

知りたい、ボタンに複数行の文字を書く方法

 <Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="100dp"
    android:background="@drawable/layout_border"
    android:text="Hours   Mon - sat 5pm" />

私はこのようになっています:-

ここに画像の説明を入力

しかし、この種のボタンが必要でした:-

ここに画像の説明を入力

編集::--

今、私は@Sino KDによって与えられた答えを使って、このようなものを得ました:

ここに画像の説明を入力

それでも助けを求めていますが、

左側にドローアブルを追加した後、これを取得します:-

ここに画像の説明を入力

4

8 に答える 8

28

使用する &#10;

(改行)

例:-

android:text="Hi&#10;Hello"

また

1) ../res/values/strings.xml で定義:

 <string name="multilines">Line1Line1\nLine2Line2</string>

2) レイアウト ファイルで参照します。

 <Button
   android:id="@+id/btn_multilines"
   android:text="@string/multilines"
   android:layout_height="wrap_content"
   android:layout_width="fill_parent">
</Button>
于 2013-10-31T06:31:37.413 に答える
4

コーディングしてこれを試してみませんか

String styledText = "<small> <font color='#000000'>"
            + "Mon-Sat 5:00 pm" + "</font> </small>"+ "<br/>"
            + "<small> <font color='#000000'>" + "Closed on Sunday"
            + "</font> </small>";

    sendrequest.setText((Html
            .fromHtml(styledText)));
于 2013-10-31T07:08:03.100 に答える
2

これを使用して達成できます。

1->レイアウトにボタンを作成します

 <Button
        android:id="@+id/buton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Mon - Sat 5 pm\nClosed on sunday"
        />

2-> このクラスをプロジェクトに追加します。

import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.drawable.Drawable;

public class TextDrawable extends Drawable {

    private final String text;
    private final Paint paint;

    public TextDrawable(String text) {

        this.text = text;

        this.paint = new Paint();
        paint.setColor(Color.WHITE);
        paint.setTextSize(20f);
        paint.setAntiAlias(true);
        paint.setFakeBoldText(true);
        paint.setShadowLayer(6f, 0, 0, Color.BLACK);
        paint.setStyle(Paint.Style.FILL);
        paint.setTextAlign(Paint.Align.LEFT);
    }

    @Override
    public void draw(Canvas canvas) {
        canvas.drawText(text, 0, 0, paint);
    }

    @Override
    public void setAlpha(int alpha) {
        paint.setAlpha(alpha);
    }

    @Override
    public void setColorFilter(ColorFilter cf) {
        paint.setColorFilter(cf);
    }

    @Override
    public int getOpacity() {
        return PixelFormat.TRANSLUCENT;
    }
}

3->これらの行をアクティビティクラスに追加します

Button button=(Button)findViewById(R.id.button);
button.setCompoundDrawables( new TextDrawable("Hour"), null, null, null);
于 2013-10-31T07:04:02.603 に答える
2

使用&#10;(改行)

android:text="Hours&#10;Mon - sat 5pm"
于 2013-10-31T06:32:27.880 に答える
0

ボタンの代わりに aを使用してLinearLayout、同様の効果を得ることができます。

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/layout_border"
android:orientation="horizontal" >
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="match_content"
    android:textColor="@color/grey" // you'll have to define this yourself
    android:text="Hours"
    android:gravity="center_vertical" />

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:text="Mon - Sat 5:00pm&#10;Closed on Sundays"
    android:gravity="center_vertical />
</LinearLayout>

これは完璧に機能しないかもしれませんが、それは始まりです

于 2013-10-31T07:02:16.547 に答える
0

Android レイアウトの場合、要素に複数行のテキストを追加できます。

res/values/strings.xml で、文字 endOfLine "\n" を使用して新しい変数を作成します。

例えば:

<string name="multiplelines">Line1 \n Line2</string>

レイアウトファイルで参照してください。例えば、

<Button
    android:id="@+id/start"
    android:text="@string/multiplelines"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">
</Button>
于 2013-10-31T06:34:46.830 に答える
0

strings.xmlで使用できるソリューション、セパレーターはCDATA 内の\nです

<string name="switch_on_bluetooth"><![CDATA[Allumer\nBluetooth]]></string>
于 2017-11-19T12:58:42.383 に答える