0

「HelloWorld」間の間隔を「StackOverflow」間の間隔と等しくし、「World」と「Stack」間の間隔を維持したい。「HelloWorld」は1つの中に含まれTextView、改行は「Hello\nWorld」です。TextView「スタックオーバーフロー」は2つの要素に分かれています。lineSpacingExtraのレイアウトで使用できることはわかっていますmyTextViewが、これにより「ワールド」の下に不要な間隔が追加されます。

等間隔を実現するためのエレガントな方法はありますか?1つのアイデアは、「Hello World」を2つのTextView要素に分割し、正規表現を使用して改行文字が表示されたときに分割することですが、これは少しハックです。

レイアウト:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
    <TextView
            android:id="@+id/textview_wraptext"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            />
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Stack"
            />
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Overflow"
            />
</LinearLayout>

Javaコード:

package com.example.TextViewSpacingExample;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class TextViewSpacing extends Activity {

    private TextView myTextView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myTextView = (TextView) findViewById(R.id.textview_wraptext);
        myTextView.setText("Hello \nWorld");
    }
}

スクリーンショット

4

1 に答える 1

0

私は2つの「Stack」と「Overflow」TextViewを1つTextViewに再設計するSpannableStringことになりました。これは、最もハッキーなソリューションではなかったためです。

于 2013-04-02T17:58:00.510 に答える