2011-06-19 9 views
0

私は現在、スクロールビューアをメインレイアウトとして持ち、ビューをたくさん持つレイアウトを私のアプリケーションレイアウトとして持っていますが、タブを作成する必要があります。アンドロイドチュートリアルでは、各タブの実際のレイアウトはプログラム的に、現在のレイアウト(xml)をどのようにクラスに変換するのですか?従うべきガイドラインはありますか?スクロールビューア内の相対レイアウトを設定するにはどうすればよいのですか?アンドロイド:layout_below = "SOMETHING" "とそのすべてのプロパティを指定するにはどうすればよいですか?レイアウトをクラスに変換する

答えて

0

私はあなたの質問をよく理解していませんが、TabLayoutプログラムを作成するときは、各タブで使用されるアクティビティを定義します。それらのそれぞれは、AndroidでXML要素にアクセスするためには次のような何かをする必要がありsetContentView(「アクティビティのレイアウト」)

+0

私が意味したのは、各タブのコントロールをプログラマチックに定義するために、すでに定義されているXMLレイアウト(ビューとウィジェットをネストしたもの)をクラスに変換する方法です。 –

+0

ええと、あなたのXMLレイアウトを保持する単純なアクティビティを作成し、そのアクティビティを使用してタブを作成してください! 'code' intent =新しいインテント()。setClass(this、NEWACTIVITYCLASS.class); \t \tスペック= tabHost \t \t \t \t .newTabSpec( "NAMEOFTAB") \t \t \t \t .setIndicator(res.getText(テキストID)、 \t \t \t \t \t \t res.getDrawable(ICON)) \t \t \t \t .setContent(intent); –

+0

ええ、私の質問は、手動でXMLレイアウトを変換しなければならないかどうかです。私はNEWACTIVITYCLASS.classでなければなりませんか?または、NEWACTIVITYCLASS.classに、レイアウトがすべてのタブホストコードを含むメインレイアウト以外の実際のlayout.xmlであることを指定することもできます。 –

0

を持っている必要があります。

Button submitButton = (Button) myActivity.getViewById(R.id.btnSubmit); 

を次に、(submitButton.setVisibilityのようなものを呼び出すことができますView.HIDDEN)を非表示にするか、その他の操作を行う必要があります。

これはどのレイアウト要素でも機能します。

onActivityStartメソッドでこれを行うことを確認してください。そうしないと、実行時の例外がスローされます。

XMLレイアウトファイルをクラスに自動的に "変換"する方法はありません。XMLパージングアルゴリズムを使用していない限り、これはやりたいことよりも多くのように思えます。

これが役に立った!

関連する問題