1

我正在创建一个选项卡式应用程序,我正在为此测试一个谷歌关于选项卡布局的教程。我能够在模拟器中成功运行 hellotabwidget,但是当我在 eclipse 的图形布局编辑器中查看 main.xml 文件时,它不显示选项卡,而是显示内容。它只是显示了某种

因此我无法使用图形编辑器将按钮或其他内容添加到创建的选项卡中,因为我无法在图形编辑器中查看它们。

任何人都可以帮助解决这个问题。

4

1 回答 1

2

根据您对这个问题的评论,您对TabHost这里有误解,我为您提供一些解释。

标签主机

选项卡式窗口视图的容器。该对象包含两个子对象:一组标签标签,用户单击以选择特定标签,以及一个显示该页面内容的 FrameLayout 对象。单个元素通常使用此容器对象进行控制,而不是在子元素本身上设置值。

选项卡小部件

显示代表父选项卡集合中每个页面的选项卡标签列表。此小部件的容器对象是 TabHost。当用户选择一个选项卡时,该对象会向父容器 TabHost 发送一条消息,告诉它切换显示的页面。您通常不会直接在此对象上使用许多方法。容器 TabHost 用于添加标签、添加回调处理程序和管理回调。您可以调用此对象来迭代选项卡列表,或调整选项卡列表的布局,但大多数方法应在包含的 TabHost 对象上调用。


而且,重要的是下图是TabWidget,您不能将任何按钮拖放到那里直接制作标签。

图片

感叹号不是错误。那是tabwidget的标志。看看下面的代码 -

public class AndroidTabLayoutActivity extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TabHost tabHost = getTabHost();

        // Tab for Photos
        TabSpec photospec = tabHost.newTabSpec("Photos");
        // setting Title and Icon for the Tab
        photospec.setIndicator("Photos", getResources().getDrawable(R.drawable.icon_photos_tab));
        Intent photosIntent = new Intent(this, PhotosActivity.class);
        photospec.setContent(photosIntent);

        // Tab for Songs
        TabSpec songspec = tabHost.newTabSpec("Songs");
        songspec.setIndicator("Songs", getResources().getDrawable(R.drawable.icon_songs_tab));
        Intent songsIntent = new Intent(this, SongsActivity.class);
        songspec.setContent(songsIntent);

        // Tab for Videos
        TabSpec videospec = tabHost.newTabSpec("Videos");
        videospec.setIndicator("Videos", getResources().getDrawable(R.drawable.icon_videos_tab));
        Intent videosIntent = new Intent(this, VideosActivity.class);
        videospec.setContent(videosIntent);

        // Adding all TabSpec to TabHost
        tabHost.addTab(photospec); // Adding photos tab
        tabHost.addTab(songspec); // Adding songs tab
        tabHost.addTab(videospec); // Adding videos tab
    }
}

从注释行中,您可以了解我们如何创建选项卡。通过仅为您的活动扩展TabActivity,您可以使用上述代码。

看看这个基本示例

希望这些解释对您有所帮助。

于 2012-06-14T04:34:31.513 回答