首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android如何更换已弃用的tabhost?

Android如何更换已弃用的TabHost

虽然Android系统已经不再使用TabHost组件,但你可以使用其他组件如Fragment或ViewPager来替换它。这里将介绍一种使用Fragment的解决方案。

1. 创建新项目

首先,创建一个新的Android项目,并选择一个合适的模板。在MainActivity中,你可以添加一个Fragment来替换TabHost。

2. 创建新Fragment

创建一个新Fragment,如下所示:

代码语言:java
复制
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;

public class NewFragment extends Fragment {

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        // 在这里你可以添加你的View和逻辑
    }
}

3. 在MainActivity中替换TabHost

MainActivity中,将TabHost替换为新的Fragment:

代码语言:java
复制
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import androidx.fragment.app.FragmentTransaction;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 在Activity中加载我们的新Fragment
        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.replace(R.id.new_fragment, new NewFragment());
        ft.commit();
    }
}

注意:在你的项目中的activity_main.xml文件中,确保ID为new_fragment的ViewGroup内放置了你刚刚创建的新Fragment。

4. 运行项目

点击“运行”按钮,在模拟器或实际设备上测试你的项目。

通过这种方法,你可以在Android应用中使用Fragment替换已弃用的TabHost。这有助于你实现更现代化、高效的用户界面。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

学习Android时发现别人方法已被怎么办

问题描述 在学习Android时我们肯定要敲别人代码,而过去时间写代码在高API版本中很容易遇到已被启动情况,下面就是这种情况例子: ? 但是我们如何才能找到这个方法更新版本呢?...首先我们打开GoogleAndroid官方网站:Android Developers,如下所示: ? 然后在搜索栏中搜索。...但是注意我们不要直接搜索方法名,就如此例中:getDrawable()方法,因为并不会提供任何结果,而是应当搜索此方法所属类,而类我们通过Android Studio就可以查询到了: ?...我们发现现在此方法需要输入Theme,但是可以选择输入nulll,我们就简单一点,修改原来方法,多输入一个参数null,如下: ? 可以看到现在所示方法就不在提示方法被用了。

1.7K10

Android界面组件基本用法

如果控件大小是100*100 图片资源是80*80的话,那么src,图片就会居中显示,如果使用background那么图片就会被拉伸充满控件。...通过TabHost对象方法来创建选项卡、添加选项卡 选项卡主要由TabHost、TabWidget、FrameLayout3个组件组成,三者缺一不可,想象一下选项卡特点,多个卡重叠在一起,所以FrameLayout...另外需要注意TabHost、TabWidget、FrameLayout三个组件android:id必须使用系统默认名称,而不能自己随意定义,否则会出错。...13.画廊视图(Gallery)(现在已经被用了,不过还是列出来吧) Gallery用法很简单——为它提供一个内容Adapter,该AdaptergetView方法所返回View可作为Gallery...每个列表项是勾选列表项 simple_list_item_multiple_choice 每个列表项是带多选框文本 simple_list_item_single_choice 每个列表项是带多单选按钮文本

1.6K20

Kubernetes:如何自动检测和处理API

在最近几个K8s版本中保留了一些API,最终在Kubernetes 1.16版本中被完全删除。...如何解决产生问题 最简单方法是安装: sh -c "$(curl -sSL 'https://git.io/install-kubent')" 这将把kubent最新版本安装到/usr/local...关于可用配置选项更多细节在doitintl/kube-no-trouble仓库README文件中描述。 我应该如何处理检测到资源?...convert命令现已,可能不能根据前面提到默认值正确地转换资源。...希望这将帮助你检测和处理Kubernetes集群中API,以免这些API给你带来任何麻烦。 现在kubent工具还为时过早,如果你觉得它有用,我很乐意听到任何评论和建议。安全航行!

1.2K10

速读原著-Android应用开发入门教程(使用Tab组织UI)

TabActivity 是一个 Activity 继承者,它主要包含以下几个方法: TabHost getTabHost() // 返回这个活动 TabHost TabWidget getTabWidget...void onContentChanged() // 当内容变化时候,更新屏幕状态 TabHost 表示了 Tab 框架,TabWidget 而表示了其中包含内容,这 2 个类继承关系如下所示...: => android.view.View => android.view.ViewGroup => android.widget.FrameLayout => android.widget.TabHost...TAB 其实包含了两方面的一个是上面的指示 indicator(包含了字串标签和图标两方面的内容),另一个方面是 Tab 中内容,在设置内容时候,可以三种选择: 1....使用 View id 2. 使用 TabHost.TabContentFactory 3.

46110

Android应用底部导航栏(选项卡)实例

现在很多android应用都采用底部导航栏功能,这样可以使得用户在使用过程中随意切换不同页面,现在我采用TabHost组件来自定义一个底部导航栏功能。...我们先看下该demo实例框架图: 其中各个类作用以及资源文件就不详细解释了,还有资源图片(在该Demo中借用了其它应用程序资源图片)也不提供了,大家可以自行更换自己需要资源图片。...>   <TabHost android:id="@android:id/tabhostandroid:layout_width="fill_parent" android:layout_height...;   import android.widget.TabHost;   public class MainTabActivity extends TabActivity implements OnCheckedChangeListener...,只是用来表示不同界面展示,故这里只列出 AActivity.java源码: package com.andyidea.tabdemo;   import android.app.Activity

1.4K100

Android开发之TabHost选项卡及相关疑难解决方法

分享给大家供大家参考,具体如下: 前言: 虽然现在谷歌已经不推荐使用TabHost,但是初学者还是很有必要接触下这一成金经典,本文将介绍纤细介绍这一空间使用,以及大家可能遇到问题。...底部导航无法实现 现在 从问题出发: 问题一:无法显示 TabHost 很多人调用TabHost方法是: setContentView(R.layout.activity_main); tabHost...在这里建议大家采用遮掩调用方法: LayoutInflater.from(this).inflate(R.layout.activity_main, tabHost.getTabContentView...(new TabHost.OnTabChangeListener(){ @Override // tabId是newTabSpec参数设置tab页名,并不是layout里面的标识符id public...你会发现并没有什么 卵 !!!

74910

过时但仍值得学习选项卡TabHost

今天来了解一个过时组件,了解目的不是学会用起来开发,而是了解这种界面的设计和其特点,后期可以其他方式来替代。...一、TabHost概述 TabHost是一种非常实用组件,TabHost可以很方便地在窗口上放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小组件摆放区域。...接下来通过一个简单示例程序来学习TabHost使用。...不仅如此,上面的布局文件中这三个组件 ID也有要求。 TabHost ID 应该为@android:id/tabhost。...上面这三个ID并不是开发者自己定义,而是引用了 Android系统已有的ID。 接下来主程序即可加载该布局资源,并将布局文件中三个Tab页面添加到该TabHost 容器中。

1.5K90

新浪微博布局学习——妙用TabHost

前言 为了更好开发Android应用程序,除了熟练掌握基本UI组件和API外,还需要掌握一些技巧,而这些技巧可以通过阅读一些代码来提高,本系列将与大家分享一些新浪微博布局方面的收获,欢迎交流!...> <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height=...也就是默认难看风格不见了: ? ,取而代之是5个带风格单选按钮....三、总结 在这之前如果要做这种效果我恐怕第一时间就会想到ActivityGroup来做,主要是因为TabHostTabWidget非常难看,起 来也不方便。...其实从源码可以看出,TabActivity也是继承自ActivityGroup,这里结合了单选按钮和TabHost,各取其长,有时间 可以专门写一个这样自定义控件:) 四、相关文章 [Android]

34520

Android DataBinding官方双向绑定示例

双向绑定 现在假设一种情况,当你更换成EditText时,如果你用户名User.name已经绑定到EditText中,当用户输入文字时候,你原来user.name数据并没有同步改动,因此我们需要修改成...在复杂情况下,这个特性没什么卵,因为逻辑部分我们是不建议写在XML中。...等下就揭晓如何自定义自己双向绑定,我们来看看目前Android支持控件: AbsListView android:selectedItemPosition CalendarView android:...android:value RadioGroup android:checkedButton RatingBar android:rating SeekBar android:progress TabHost...android:currentTab (估计没人) TextView android:text TimePicker android:hour, android:minute 自定义双向绑定 设想一下我们使用了下拉刷新

1.6K51
领券