[英]Android, How to add icon in TabButton in my code
在這里,我制作了 5 個正常工作的選項卡按鈕,但現在我想為每個選項卡添加圖標,如何為選項卡按鈕添加選項卡圖標..請指導/幫助我..
我第一次使用stackOverflow,請告訴我在發布此代碼時是否錯過了任何步驟...在此先感謝
package com.vishesh.soapbox;
import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.TabHost.TabSpec;
public class Start extends TabActivity {
private TabHost tabHost;
//Resources res=getResources();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start);
//textView for signout from application
TextView signout=(TextView)findViewById(R.id.signout);
signout.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
// scan button use for read the BarCode through RedLaser
Button scan=(Button)findViewById(R.id.scan);
final Intent intent=new Intent(this,RLSample.class);
scan.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(intent);
}
});
//for Tab button
tabHost=getTabHost();
setupTabhost();
Intent intent1=new Intent().setClass(this, SoapBox.class);
setupTab(new TextView(this),"SoapBox", intent1);
Intent intent2=new Intent().setClass(this, Profile.class);
setupTab(new TextView(this),"Profile", intent2);
Intent intent3=new Intent().setClass(this, Challenges.class);
setupTab(new TextView(this),"Challenges", intent3);
Intent intent4=new Intent().setClass(this, Vault.class);
setupTab(new TextView(this),"Vault", intent4);
Intent intent5=new Intent().setClass(this, More.class);
setupTab(new TextView(this),"More", intent5);
tabHost.setCurrentTab(0);
}
private void setupTabhost()
{
tabHost=(TabHost)findViewById(android.R.id.tabhost);
tabHost.setup();
}
private void setupTab(final View view, final String tag, Intent intent)
{
View tabView=createTabView(tabHost.getContext(),tag);
TabSpec tabSpec=tabHost.newTabSpec(tag).setIndicator(tabView).setContent(intent);
tabHost.addTab(tabSpec);
}
private static View createTabView(final Context context, final String text)
{
View view=LayoutInflater.from(context).inflate(R.layout.start_tabs_bg, null);
TextView textView=(TextView)view.findViewById(R.id.tabsText);
textView.setText(text);
return view;
}
}
維謝什,
如果你看這里的例子......
spec = tabHost.newTabSpec("albums").setIndicator("Albums",
res.getDrawable(R.drawable.ic_tab_albums))
.setContent(intent);
drawable
圖標在對setIndicator()
的調用中傳遞。 你可以用你的tag
變量替換兩個“專輯”字符串。
雖然,目前看起來您正在為您的選項卡使用自定義視圖。 您只需在布局中添加一個ImageView
並將drawable
對象設置為您想要的圖標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.