我的图片无法填写标签

时间:2012-11-20 07:16:53

标签: android

我开发了一个类似下面的应用程序,在mainActivity中,当我尝试添加TAB1图像时,图片无法填满标签,它会丢失边框。

activity picutre

黄色部分是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);
}
}

3 个答案:

答案 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.

tab1_mainxml://此xml文件应存储到可绘制文件夹

  <?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创建标签图标。您将获得“本机选项卡图标”外观所需的所有资源。