0

Activity呼ばれるファイルMainActivity.javaがあります。activity_main.xmlしかし、2行目を追加しようとすると、複数行のテキストビューを作成する方法がわかりません。両方の行が同じ行の同じスペースに配置されます。

activity_main.xml テキストビュー

<TextView  android:id="@+id/txtView"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:textSize="12sp"
    android:textColorLink="#FFFF00"
    android:textStyle="bold"
/
<TextView  android:id="@+id/txtView1"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:textSize="12sp"
    android:textStyle="bold"
/>

MainActivity.java

public class MainMenuActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.alatecinc.eema.MESSAGE";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_menu);

    //Main Menu Links
    String str = "Directions";
    SpannableString content = new SpannableString(str);
    content.setSpan(new UnderlineSpan(), 0, str.length(), 0);
    final TextView txtView = (TextView) findViewById(R.id.txtView);
    txtView.setText(content);
    txtView.setTextColor(Color.BLUE);
    Linkify.addLinks(txtView, Linkify.ALL);     
    txtView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            MainMenuActivity.this.startActivity(new Intent(MainMenuActivity.this, DirectionActivity.class));
        }
    });

    String mapStr = "Map View";
    SpannableString mapContent = new SpannableString(mapStr);
    mapContent.setSpan(new UnderlineSpan(), 0, mapStr.length(), 0);
    final TextView mapTxtView = (TextView) findViewById(R.id.txtView1);
    mapTxtView.setText(mapContent);
    mapTxtView.setTextColor(Color.BLUE);
    Linkify.addLinks(mapTxtView, Linkify.ALL);      
    mapTxtView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            MainMenuActivity.this.startActivity(new Intent(MainMenuActivity.this, DirectionActivity.class));
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
              getMenuInflater().inflate(R.menu.main_menu, menu);
          return true;
     }

 }

したがって、私が必要とするのは、Directions と言う行と mapview と言う行の 2 つの行を用意することです。

4

6 に答える 6

2

相対レイアウトを使用して、txtView2 を明示的に txtView1 の下に設定します。個別のレイアウト ファイルを持つという目的が無効になるため、HTML ソリューションは使用しません。

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/relativeLayout1">
    <TextView android:id="@+id/txtView1"
        android:text=""
        android:textSize="12sp"
        android:textStyle="bold"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    <TextView android:id="@+id/txtView2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="" 
        android:textSize="12sp"
        android:textStyle="bold" 
        android:layout_below="@id/txtView1"/>

于 2013-03-13T14:18:45.587 に答える
1

これを試して:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context=".yourActivity" >
<TextView  android:id="@+id/txtView"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:textSize="12sp"
    android:textColorLink="#FFFF00"
    android:textStyle="bold"/>
<TextView  android:id="@+id/txtView1"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txtView"
    android:text="" 
    android:textSize="12sp"
    android:textStyle="bold"/>
</RelativeLayout>
于 2013-03-13T14:16:01.107 に答える
0

string.xml ファイルでテキストを定義する必要があります。はい、フォーマットされた html も定義できます。

だからあなたはこれを試すことができます:

<string name="nice_html">
<![CDATA[Don&apos;t worry we will never share this with anyone<br/>
By Clicking register you are indicating that you have read and agreed to the <br/>
 <u>Terms of services</u>  and <u>Privacy Policy</u>
]]></string>

次に、コードで:

TextView foo = (TextView)findViewById(R.id.foo); foo.setText(Html.fromHtml(getString(R.string.nice_html)));

元の答え。

これが最もクリーンな方法です。

于 2013-03-13T14:32:48.477 に答える
0

これを試して、

yourTextView.setText(Html.fromHtml("<div>line1</div> <br /> <div>line2</div>"));
于 2013-03-13T14:13:35.573 に答える
0

\n新しい行を追加したい場合に使用します。お気に入り

String str = "Title:\nHere title";
于 2013-03-13T14:18:29.407 に答える