我正在创建一个标签式应用程序,我正在测试一个关于标签布局的谷歌教程。 我能够在模拟器中成功运行hellotabwidget,但是当我在eclipse的图形布局编辑器中查看main.xml文件时,它没有显示选项卡,而且它是内容。它只是显示某种
因此我无法使用图形编辑器在创建的选项卡中添加按钮或其他内容,因为我无法在图形编辑器中查看它们。
任何人都可以帮忙解决这个问题。
答案 0 :(得分: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,您只能使用以上代码。
Have a look at this Basic Example
希望这些解释对您有所帮助。