0

我希望“Hello World”之间的间距等于“Stack Overflow”之间的间距,同时保持“World”和“Stack”之间的间距。"Hello World" 包含在 oneTextView中,并带有换行符 "Hello \n World"。“堆栈溢出”分为两个TextView元素。我知道我可以lineSpacingExtra在布局中使用myTextView,但这也会在“世界”下方添加不需要的间距。

有没有一种优雅的方法来实现等间距?一个想法是在两个元素之间拆分“Hello World” 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

我最终用a 重新设计了两个“Stack”和“Overflow”,TextView因为它是最简单的解决方案。TextViewSpannableString

于 2013-04-02T17:58:00.510 回答