1

私のアプリには5つの「タブ」(画像ビュー)が連続してあります。クリックするとWebビューへのURLが変更されるため、すべてのタブに対してonClickメソッドを作成しました。(アプリのアイデアがわかるように説明するだけです)私がいる「タブ」(画像ビュー)の背景を変更したい(たとえばtab1)、別のタブ(たとえば、tab4)をクリックすると、背景がtab1が消え、tab4に表示されます。

コード:

public void onWelcome(View V)
    {
        WebView htmlContent = (WebView) findViewById(R.id.webViewer);
        htmlContent.loadUrl("URL1");
        ImageView imgV = (ImageView) findViewById(R.id.tab1);
        imgV.setImageDrawable(Drawable drawable); /*i do not understand this line, someone said this is how it's done*/
    }
    public void onProgram(View V)
    {
        WebView htmlContent = (WebView) findViewById(R.id.webViewer);
        htmlContent.loadUrl("URL2");
    }
    public void onNews(View V)
    {
        WebView htmlContent = (WebView) findViewById(R.id.webViewer);
        htmlContent.loadUrl("URL3");
    }
    public void onContact(View V)
    {
        WebView htmlContent = (WebView) findViewById(R.id.webViewer);
        htmlContent.loadUrl("URL4");
    }
    public void onPictures(View V)
    {
        WebView htmlContent = (WebView) findViewById(R.id.webViewer);
        htmlContent.loadUrl("URL5");
    }

私が言ったように、私はこの方法を使用する方法を理解していません.setImageDrawable(Drawable drawable);

img_selectedドローアブルで 呼び出された画像があり、XMLファイルで書き込みます"android:background="@drawable/img_selected"

onclick-methodで同じことを行うにはどうすればよいですか?別のタブをタップしたときにどうすればそれを取り除くことができますか?

4

2 に答える 2

1

これらのメソッドの便利な点は、クリックされたビューがすでに通過していることです。したがって、ビューに対して行う必要のあることはすべて、パラメーターを介して行うことができます。(ここにありますView V

public void onWelcome(View V)
    {
        WebView htmlContent = (WebView) findViewById(R.id.webViewer);
        htmlContent.loadUrl("URL1");
        V.setImageResource(R.drawable.img_selected); 
    }

簡単だ。と同じようfindViewByIdに、このメソッドはビューの画像リソースをid渡されたものに設定します。drawableコードで特定のものを参照するには、上記を使用できます。

于 2012-12-19T12:20:49.283 に答える
0

あなたの主な活動はで実装します

TabHostActivity extends TabActivity implements OnTabChangeListener
{ 
     tabHost.setOnTabChangedListener(this);
     tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#FFA500")); // selected
     tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).getLayoutParams().height = 70;
}
于 2012-12-19T12:14:24.037 に答える