「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");
}
}