2012-02-29 17 views
3

この投稿に関するstackoverflowには何百もの投稿がありますが、私は適切な答えを見つけられませんでした。だから私は新しい質問としてそれを求めている。完全なテキストビューで単語を作成する方法clickable android(URLリンクではない)

問題: - 「?あなたはを食べるためにクッキーやバナナを必要」 私はテキストビュー内のテキストを持っています私はバナナやクッキーをクリックするだけでキッチンの画面に行く必要がある。他の単語をクリックすると反応しません。

My Try: - テキストビューで行っていますが、android:clickable="true"ですが、完全な行がクリック可能になっています。 これをさまざまなテキストビューに分割し、相対レイアウトを使用することにしましたが、もう一度、画面の中央に完全な線が来ないという問題がありました。android:layout_marginLeft="150dp"と苦労してコード化しましたが、明らかに値をハードコードするべきではありません。それを除いて、ユーザーに明確な見解を与えるために、バナナやクッキーに太字や下線、色などの書式を設定する必要があります。私は太字と下線のために使用し、タグ付けしましたが、テキストの色付け方法は?

最後に、私は完全な文字列クリッカブル(URLリンクではなく)

2)完全な文字列のいくつかのテキストの書式設定を行うにはどのようにいくつかの単語を作る方法

1)としての私の問題を要約する必要があります。

3)文字列全体を中央に保持する方法を相対レイアウトで使用する場合。

他のアプローチが使用され、Bができれば、彼らは、これらのすべてがURLリンクではなくが、内部のスクリーンであることに注意することが

ポイントも歓迎しています。 だれでも助けてくれればよろしくお願いします。 助けていただければ幸いです。前もって感謝します。アンドロイドと試みる中央にテキストを保つために

答えて

1

Hello AddingKnowledge。

できることは、リニアレイアウトを相対レイアウト内に定義することです。これは柔軟性を提供します。 そのスタイルとは別に、string.xmlによって行うこともできます。または、style.xmlからスタイリングを行うことができます。そのため、style.xmlがそこにあります。

あなたがもっと深い知識のためにHow to make a part of text clickable like button in Android?としてリンクすることができます。またはhandle textview link click in my android app

+1

ありがとう – Android

+1

のthnx: アンドロイドでlayout_centerHorizo​​ntal =「true」を :あなたが画面の中央にテキストを揃えたい場合は、任意の方法はそれほどのLinearLayoutパラメータ アンドロイドを置き換える返信 – Android

0

:layout_centerInParent = "true" をDNT利用アンドロイド:layout_marginLeftは= "150DP型"

とTextViewには、このリンクそれで

   tv.setText(Html 
      .fromHtml("<a href='Banana'>Banana</a>")); 
    tv.setMovementMethod(LinkMovementMethod.getInstance()); 

    // Performing action on TouchListener of ForgotPassword 
    tvforgotpwd.setOnTouchListener(new View.OnTouchListener() { 

     public boolean onTouch(View v, MotionEvent event) { 
      // TODO Auto-generated method stub 
      Intent Forgotpwdintent = new Intent(); 
      Forgotpwdintent.setClass(getApplicationContext(), 
        Kicthenscreen.class); 
      startActivity(Forgotpwdintent); 
      return true; 

     } 
    }); 

ルッククリック可能にするには便利なことがあります...私は相対的なレイアウトを試してみましたhttp://coderzheaven.com/2011/05/textview-with-link-in-android/

XMLファイルは、..です

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout 
    android:id="@+id/relativeLayout1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:layout_toRightOf="@id/textView1" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:layout_toRightOf="@id/textView2" 
     android:text="TextView" /> 
    <TextView 
     android:id="@+id/textView4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:layout_toRightOf="@id/textView3" 
     android:text="TextView" /> 
</RelativeLayout> 

と私はこのようなJavaファイルに書いた...私のために

  TextView tv=(TextView)findViewById(R.id.textView3); 
    tv.setText(Html.fromHtml("<a href='Banana'>Banana</a>")); 
    tv.setClickable(true); 
    tv.setMovementMethod(LinkMovementMethod.getInstance()); 
    tv.setOnTouchListener(new View.OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
      // TODO Auto-generated method stub 
      Toast.makeText(getApplicationContext(), "hai", Toast.LENGTH_LONG).show(); 
      return true; 
     } 
    }); 

のみを中央に整列レイアウト..

+0

あなたの解決策を試してみてください。 – Android

+0

申し訳ありません、android:layout_centerInParent = "true" android:layout_centerHorizo​​ntal = "true"を使用してください。 – user1213202

+0

アンドロイド:layout_centerInParent = "true" これをテキストビューに使用すると、最初のテキストビューが中央に配置され、レイアウトが乱されてアンドロイドになります:layout_centerHorizo​​ntal = "true" – Android

0

こんにちはユーザーAddingKnowledge、私は確認することができbelow.Youに行ったようにあなたがテキストの異なるセットで文を破るする準備ができて、あなたがTextViewsにテキストを設定することができる場合、私は、非常に慎重にあなたの問題を読ん

TextView text_bananaとtext_cookiesについては、onclickリスナを設定することができます。

私に知らせてください。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<LinearLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerHorizontal="true" 
android:orientation="horizontal" > 

<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="You need " /> 

<TextView 
android:id="@+id/text_cookies" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="cookies" /> 

<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text=" or " /> 

<TextView 
android:id="@+id/text_banana" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="banana" /> 

<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text=" to eat?" /> 

</LinearLayout> 

</RelativeLayout> 
+0

あなたの解決策を試してみると、速い返信のために – Android

+0

と同じです。ヘルプ先生のためのlayout_centerInParent =「true」を – Android

+0

のためのuをthnk私の解決策に完全には貢献しなかった –

関連する問題