我的应用程序连续有5个“标签”(图像视图),我为所有这些设备制作了onClick方法,因为当您点击它们时,它们会将URL更改为我的网页视图。 (只是解释所以你得到了应用程序的想法)
我想改变我所在的“标签”(图像视图)上的背景(比如tab1),当你点击另一个标签(例如tab4)时,tab1上的背景消失并显示在tab4上我我是android和java的新手,所以请在这里和我一起玩。谢谢!
代码;
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);
我在drawable中有一个名为img_selected
的图像,我会在XML文件中写"android:background="@drawable/img_selected"
我在onclick方法中如何做同样的事情?当我点击另一个标签时如何摆脱它?
非常感谢您的回答!
答案 0 :(得分: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
,您可以使用上面的内容。
答案 1 :(得分: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;
}