我正在创建一个应用程序,它在屏幕底部有五个选项卡,每个选项卡打开一个不同的Activity.
我的选项卡活动扩展了我刚刚阅读的TabActivity,我不应该使用Fragments.
如何更改我的应用程序以使用Fragments?我已经阅读了android.developer.com上的信息,但我仍然不知道如何做到这一点.
我想实现与iPhone中相同的功能

我在底部栏中实现了与iPhone相同的自定义Tabhost.我可以为Normal/Selected状态设置两个Icons,但是我需要动态图标,其中包含Image中给出的通知数量.
谢谢
android android-custom-view android-tabhost android-tabactivity
在我的项目中,我有两个选项卡和一个按钮.对于两个选项卡,我有两个活动和按钮调用不同的活动.事情是我在第一个标签上显示按钮的结果.即tab0在tab0Event和按钮点击事件上也处于活动状态.并且我能够使用tabHost.setOnTabChangedListener更改选项卡事件,但现在我还想要的是,假设我点击按钮所以现在按钮视图正在显示(tab0处于活动状态)但是再次如果我点击tab0,tab0活动应该是显示.
我尝试了许多点击标签的解决方案,一个是
getTabWidget().getChildAt(getTabHost().getCurrentTab()).setOnClickListener
(new View.OnClickListener() {
@Override public void onClick(View v) {
System.out.println(getTabHost().getCurrentTab());
} });
Run Code Online (Sandbox Code Playgroud)
但是当我使用tabChnageListner这个代码时,tab更改不起作用,我得到了非常意外的结果.你能为我的问题建议解决方案.
谢谢.
用于更改选项卡的代码如下所示:(对于标签更改工作正常,需要在其中添加Tab Onclick)
public class TabLayoutUsingTabChangeEventActivity extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
final TabHost.TabSpec sp1 = tabHost.newTabSpec("TAB1");
TabHost.TabSpec sp2 = tabHost.newTabSpec("TAB2");
//Creating First Tab
Intent intent1 = new Intent(this, Tab1Activity.class);
sp1.setIndicator("TAB1").setContent(intent1);
tabHost.addTab(sp1);
//Creating Second Tab
Intent intent2 = new Intent(this, Tab2Activity.class);
sp2.setIndicator("TAB2").setContent(intent2);
tabHost.addTab(sp2);
//Tab Changed Event
tabHost.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) { …Run Code Online (Sandbox Code Playgroud) 看来TabActivity现已弃用,我们需要使用Fragments.
我尝试使用标准的Activity但无法调用getTabHost.
所以看来我必须使用Fragments.但我有点困惑这是如何工作的.
我知道片段不是活动所以它们不在清单文件中?
所以我认为我不能对片段做startActivity?
有没有人知道解释tabHost和Fragments的一个很好的例子,我发现的所有例子和教程都只使用了tabactivity.
提前致谢
自引入Fragments以来,不推荐使用TabActivity.
然而,Hello Views TabLayout教程仍然使用TabActivity,而API-Documentation没有明确的答案如何使用Fragments而不是TabActivity创建Tab Layout.
现在,如果不推荐使用TabActivity,您是如何构建Tablayouts的?
我在点击TabActivity当前选中的标签时尝试获取Click事件.
我尝试下面的代码,但当我点击一个选项卡时,其他选项卡无法正常工作/单击.
setupTab(new TextView(this), "Map");
setupTab(new TextView(this), "Attacks");
setupTab(new TextView(this), "Profile");
setupTab(new TextView(this), "Headquater");
int numberOfTabs = tabHost.getTabWidget().getChildCount();
for(int t=0; t<numberOfTabs; t++){
getTabWidget().getChildAt(t).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(tabHost.getCurrentTab() == 0){
Toast.makeText(TabContext, ""+"i m in on clickkkkk" ,1500).show();
getTabHost().setCurrentTab(0);
}
if(tabHost.getCurrentTab() == 1){
Toast.makeText(TabContext, ""+"i m in on clickkkkk....$#@$#$" ,1500).show();
getTabHost().setCurrentTab(1);
}
}
});
}
Run Code Online (Sandbox Code Playgroud) 现在不推荐使用TabActivity,使用片段构建选项卡式界面的正确方法是什么?我见过的每个教程都采用了不同的方法.其中一些是非常复杂的,将一个平凡的编程主题推向火箭科学领域.是什么赋予了?
我正在为ICS Android 4.0编写代码.
谢谢.
android android-tabhost android-fragments android-tabactivity
我是android的初学者,我正在互联网上学习一些教程.
我正在研究"tabactivity",但在android网站上告诉我它已被弃用.
这意味着什么?它不再用了吗?
抱歉,英文不好谢谢
我有一个项目,我在其中设置:
onCreate方法中的代码是这样的:
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
...
Run Code Online (Sandbox Code Playgroud)
使用以前的设置,一切正常!但是,如果我将minSdkVersion设置为11或更高,则会发生以下异常:
android.util.AndroidRuntimeException: You cannot combine custom titles with other title features
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这只是改变minSdkVersion.我在这个网站上对这个问题大加红了.我尝试过设置:
由于我只使用API 11提供的功能,我想在加载商店App之前将minSdk设置为11.我能怎么做 ??我需要帮助
编辑:使用清单中的minSdkVersion = 10和Theme.NoTitleBar,会发生同样的错误.删除它,一切都像以前一样.当API为11或更高时,任何人都可以提供工作代码(清单和活动代码)来设置自定义标题吗?太多了
android titlebar tabactivity custom-titlebar android-tabactivity
我试着按照预期的形状制作椭圆形tabhost.
我尝试了以下代码.
public class AndroidTabLayoutActivity extends TabActivity {
TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
intent = new Intent().setClass(this, PhotosActivity.class);
View tabView = createTabView(this, "Updates");
spec = tabHost.newTabSpec("tab1").setIndicator(tabView).setContent(intent);
tabHost.addTab(spec);
tabView = createTabView(this, "Events");
intent = new Intent().setClass(this, SongsActivity.class);
spec = tabHost.newTabSpec("tab2").setIndicator(tabView)
.setContent(intent);
tabHost.addTab(spec);
TabWidget tabWidget = (TabWidget) findViewById(android.R.id.tabs);
final int tabChildrenCount = tabWidget.getChildCount();
View currentView;
for (int i = 0; i < tabChildrenCount; i++) {
currentView = tabWidget.getChildAt(0);
LinearLayout.LayoutParams currentLayout …Run Code Online (Sandbox Code Playgroud) android tabwidget tabactivity android-tabhost android-tabactivity