2012-12-19 96 views
1


我的應用程序已經連續5「標籤」(圖像視圖),我做的onClick的方法對所有的人,因爲他們正在改變URL到我的Web視圖當你點擊它們。 (只是解釋讓您獲得應用程序的想法) 我想改變「標籤」的背景(圖像視圖)我在(可以說TAB1),當您單擊另一個選項卡(如TAB4),背景在tab1消失,並出現在選項卡4
我是新來的android和java所以請在這裏裸露我。謝謝!
代碼;ImageView的背景的onclick

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);

我有一個圖像中繪製的,在那裏我會在XML文件的寫入"android:background="@drawable/img_selected"

稱爲img_selected我如何做同樣的事情在onclick方法?當我點擊另一個選項卡時如何擺脫它?

非常感謝您的回答!

回答

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在代碼中,你可以使用上面。

+0

謝謝,但這取代了我在圖像視圖上的圖標,我只是想*添加*背景*來顯示我在哪個選項卡上。 – intINk

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; 
} 
+0

事情是;我沒有tabHost,只是一個LinearLayout(持有者),在屏幕的底部有五個ImageView(「標籤」)。 持有人有一個背景,我想ADDA背景的「標籤」時,我在他們身上,把它拿走,當我去到另一個選項卡,只是一個標誌,表明這些「標籤」顯示用戶。 – intINk