2010-12-04 1 views
1

私は、タブインターフェースを使ってアクティビティを変更するUIを作成しています。私はここに見つかったコードを変更しようとしています:http://developer.android.com/resources/tutorials/views/hello-tabwidget.html私のニーズに合うように。タブテキストを入力する

しかし、私が今直面している問題は、タブに必要なテキストのサイズが、タブの幅よりも長いことです。ですから、画像がなく、代わりに2行のテキストがあるようにする方法や、2行のテキストとアイコンがあるようにする方法があるかどうか疑問に思っていました。 2番目のオプションは私が好むものです。ここで

は私が修正しようとしているコードです:

 spec = tabHost.newTabSpec("screen").setIndicator("Screen Ratio", 
         res.getDrawable(R.drawable.ic_tab_artists)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

コードは、私は、テキストを変更した場合を除き、ストレートチュートリアルの外にあります。これは私が最初に書いたアプリであり、進行中の作業ですが、これらの方法のどちらかで良い方法であっても、より良い方法があります。どんな提案も大歓迎です。

+0

タブ内の複数の行にブレーキをかけるテキストに¥¥nを追加してもよろしいですか? – Pentium10

+0

このように、\\ nを追加して、次のように表示されるようにします。//各タブのTabSpecを初期化してTabHostに追加します spec = tabHost.newTabSpec( "screen")setIndicator( "Screen \ \ nRatio "、 res.getDrawable(R.drawable.ic_tab_artists)) .setContent(インテント); tabHost.addTab(spec); しかし、それは何も変更しませんでした。代わりにタブに "Screen \ nRatio"という文字が表示されました –

+0

オプション2の場合はDrawable(オプション1)の代わりにnullを渡してみてください。小さいアイコンを試してみてください – st0le

答えて

5

私はあなたの問題を改行で解決する方法を考え出したと思います。

まず第一に:あなたは、あなたのタブにテキストのみの設定方法

setIndicator(CharSequence label)を使用することができます。

私は、このように改行を追加することができました:

TextView title = (TextView) mTabHost.getTabWidget().getChildAt(1).findViewById(android.R.id.title); 
title.setSingleLine(false); 

TextViewには、インジケータのテキストを保持するデフォルトでにその単一行属性を設定していること、らしいです。したがって、falseに設定すると、改行に\ nを使用できます。

+0

タイトルが2行目で切り取られない – JPM

関連する問題