1

如何显示像这张图片一样的文本视图?

小样

我的文本视图看起来像这张图片

截屏

下面是我的代码,它没有集中显示文本:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical" >

  <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/imagelogo2"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/test_button_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="20dp"
        android:src="@drawable/back" >
    </ImageView>

    <ImageView
        android:id="@+id/test_button_image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:paddingLeft="5dp"
        android:paddingRight="15dp"
        android:paddingTop="15dp"
        android:src="@drawable/options1" />
  </RelativeLayout>

  <TextView
      android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:gravity="center"
      android:text="If your school is not in the list.Please check" />

  <TextView
      android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:gravity="center"
      android:text="back later or contact your district&apos;s Nutrition Services" />

  <TextView
      android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:gravity="center"
      android:text="department for more information" />

</LinearLayout>
4

4 回答 4

1

问题是您所有的 3 个 TextView 的宽度都不同,因此每个“中心”都不同。

将它们全部更改为:

android:layout_width="match_parent" 
于 2013-08-22T11:48:20.927 回答
0

试试这个...

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ffffff"
    android:orientation="vertical" 
    android:gravity="center"

    >

        <TextView 
          android:id="@+id/text" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:gravity="center"
          android:textStyle="italic"
          android:layout_margin="5dp"
          android:text="If your school is not in the list.Please check"
            />

        <TextView 
          android:id="@+id/text" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:gravity="center"        
          android:layout_margin="5dp"
          android:textStyle="italic"
          android:text="back later or contact your district's Nutrition Services"
            />

        <TextView 
          android:id="@+id/text" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:gravity="center"        
          android:layout_margin="5dp"
          android:textStyle="italic"
          android:text="department for more information"
            />

于 2013-08-22T11:51:30.337 回答
0

你只需要更换

android:layout_width = "wrap_content"

android:layout_width="fill_parent"

对于所有的 TextView。试试下面的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical" >

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/imagelogo2"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/test_button_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="20dp"
        android:src="@drawable/back" >
    </ImageView>

    <ImageView
        android:id="@+id/test_button_image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:paddingLeft="5dp"
        android:paddingRight="15dp"
        android:paddingTop="15dp"
        android:src="@drawable/options1" />
</RelativeLayout>

<TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="If your school is not in the list.Please check" />

<TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="back later or contact your district&apos;s Nutrition Services" />

<TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="department for more information" />

于 2013-08-22T11:54:38.793 回答
0

而不是使用 3 个文本视图,您应该使用一个文本视图。

以及您要显示的文本,必须将其转换为 HTML。

String code = "<p><b>First, </b><br/>" +
                "Please press the <img src ='addbutton.png'> button beside the to insert a new event.</p>" +
                "<p><b>Second,</b><br/>" +
                "Please insert the details of the event.</p>"
                "<p>The icon of the is show the level of the event.<br/>" +
                "eg: <img src = 'tu1.png' > is easier to do.</p></td>";

        message = (TextView) findViewById (R.id.message);       
        Spanned spanned = Html.fromHtml(code, this, null);
        message.setText(spanned);
        message.setTextSize(16);

并使 textview 重力居中。

对于 Times New Roman 字体,您需要这样做:

  • 在资产文件夹中创建一个文件夹“字体”
  • 在“字体”文件夹中复制新的 roman.ttf 文件。(times 字体文件应该是小写的)

然后将此类添加到您的活动类中:

public class Typefaces{

        private final Hashtable<String, Typeface> cache = new Hashtable<String, Typeface>();

            public Typeface get(Context c, String name){
                synchronized(cache){
                    if(!cache.containsKey(name)){
                        Typeface t = Typeface.createFromAsset(
                                c.getAssets(), 
                                String.format("fonts/%s.ttf", name)
                            );
                        cache.put(name, t);
                    }
                    return cache.get(name);
                }
            }

        }

然后试试这个代码:

Typefaces tf = new Typefaces();
tvMessage.setTypeface(tf.get(context, "timesnewroman"));

希望能帮助到你!!

于 2013-08-22T12:03:51.500 回答