我开发了一个类似下面的应用程序,在mainActivity中,当我尝试添加TAB1图像时,图片无法填满标签,它会丢失边框。
黄色部分是TAB1,我需要黄色填充TAB1.any的帮助将不胜感激:),谢谢
我更新了我的密钥代码
public class MainActivity extends TabActivity implements OnTabChangeListener{
private TabSpec ts1,ts2,ts3;//declare three page
private TabHost tableHost;
@override
public void onCreate(Bundle savedInstanceState){
super.onCreat(savedInstanceState);
tableHost=this.getTabHost();
LayoutInflater.from(this).inflate(R.layou.activity_main,tableHost.getTabContentView());
ts1=tableHost.newTabSpec("Tabone");
ts1.setIndicator("TAB1",getResources().getDrawable(R.drawable.read2));
ts1.setContent(R.id.btn);
ts2=tableHost.newTabSpec("Tabtwo");
ts2.setIndicator("TAB2");
ts2.setContent(R.id.et);
ts3=tableHost.newTabSpec("Tabthree");
ts3.setIndicator("TAB3");
ts3.setContent(R.id.mylayout);
tableHost.addTab(ts1);
tableHost.addTab(ts2);
tableHost.addTab(ts3);
tableHost.setOntabChangedListener(this);
}
}
答案 0 :(得分:0)
试试这个,
In this coding you should use two images that one is actual image and another one that's you added yellow color background with your image.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/tab1icon"
android:state_selected="true"/>
<!-- When not selected, use white-->
<item android:drawable="@drawable/tab1icon2" />
</selector>
tabHost.addTab(tabHost
.newTabSpec("Tab1")
.setIndicator("Tab1", res.getDrawable(R.drawable.tab1_mainxml))
.setContent(intent));
答案 1 :(得分:0)
您是否在模拟器或真实设备上试用过您的应用?如果您已将“match_parent”设置为布局,则应该可以正常工作。但是我的三星Galaxy S3遇到了类似的问题,可能是硬件错误,而不是你的失败。
好的,所以如果你只使用没有xml定义的Java代码,也许你应该为tabhost设置layout-params。我不知道,只是一个假设。
tableHost = new TabHost(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
tableHost.setLayoutParams(params);
但是有很多LayoutParams,不知道LinearLayout.LayoutParams是否适合你。如果它不起作用,你必须尝试其他一些LayoutParams。
答案 2 :(得分:0)
尝试使用Android Asset Studio创建标签图标。您将获得“本机选项卡图标”外观所需的所有资源。