当前位置: 首页 > news >正文

马云做中国最大的网站wordpress去掉边栏

马云做中国最大的网站,wordpress去掉边栏,iis7.5添加php网站,呼市做网站建设的公司哪家好android studio创建的项目就没有一个简单点的框架#xff0c;生成的代码都是繁琐而复杂#xff0c;并且不实用。 国内的页面一般都是TAB页面的比较多#xff0c;老外更喜欢侧边菜单。 如果我们使用一个activity来创建程序#xff0c;来用占位符管理多个fragment切换…android studio创建的项目就没有一个简单点的框架生成的代码都是繁琐而复杂并且不实用。 国内的页面一般都是TAB页面的比较多老外更喜欢侧边菜单。 如果我们使用一个activity来创建程序来用占位符管理多个fragment切换这里水一篇最简单直接的做法。 源码 https://download.csdn.net/download/robinfoxnan/89485371?spm1001.2014.3001.5503 预览https://img-blog.csdnimg.cn/direct/e38ca75c7a694b049366ef05da984ef6.jpeg ## **1. Java**实现 在 Android 开发中使用 FragmentManager 来管理多个 Fragment 页面是一个常见的做法。可以通过以下步骤在主页面的占位符上替换多个 Fragment 创建主 Activity 布局在你的主 Activity 布局文件中创建一个 FrameLayout 作为占位符用于显示 Fragment。 !-- activity_main.xml -- FrameLayoutandroid:idid/fragment_containerandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent /创建 Fragments创建多个 Fragment每个 Fragment 都有自己的布局和逻辑。 // ExampleFragment.java public class ExampleFragment extends Fragment {NullableOverridepublic View onCreateView(NonNull LayoutInflater inflater, Nullable ViewGroup container, Nullable Bundle savedInstanceState) {return inflater.inflate(R.layout.fragment_example, container, false);} }!-- fragment_example.xml -- LinearLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationvertical!-- Fragment content goes here --TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textExample Fragment / /LinearLayout在主 Activity 中管理 Fragments在你的主 Activity 中使用 FragmentManager 来替换占位符中的 Fragment。 // MainActivity.java public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 默认加载的 Fragmentif (savedInstanceState null) {getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new ExampleFragment()).commit();}}// 用于切换 Fragment 的方法public void switchFragment(Fragment fragment) {getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment).addToBackStack(null).commit();} }切换 Fragment在主 Activity 中调用 switchFragment 方法来切换不同的 Fragment。 // 切换到另一个 Fragment switchFragment(new AnotherFragment());通过这种方式你可以在主页面的占位符上动态替换多个 Fragment 页面。你可以根据需要在不同的事件如按钮点击中调用 switchFragment 方法来切换不同的 Fragment。 2.kotlin实现 2.1 添加基础切换流程 下面是用 Kotlin 实现上述功能的步骤 创建主 Activity 布局在你的主 Activity 布局文件中创建一个 FrameLayout 作为占位符用于显示 Fragment。 !-- activity_main.xml -- FrameLayoutandroid:idid/fragment_containerandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent /创建 Fragments创建多个 Fragment每个 Fragment 都有自己的布局和逻辑。 // ExampleFragment.kt class ExampleFragment : Fragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_example, container, false)} }!-- fragment_example.xml -- LinearLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationvertical!-- Fragment content goes here --TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textExample Fragment / /LinearLayout在主 Activity 中管理 Fragments在你的主 Activity 中使用 FragmentManager 来替换占位符中的 Fragment。 // MainActivity.kt class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)// 默认加载的 Fragmentif (savedInstanceState null) {supportFragmentManager.beginTransaction().replace(R.id.fragment_container, ExampleFragment()).commit()}}// 用于切换 Fragment 的方法fun switchFragment(fragment: Fragment) {supportFragmentManager.beginTransaction().replace(R.id.fragment_container, fragment).addToBackStack(null).commit()} }切换 Fragment在主 Activity 中调用 switchFragment 方法来切换不同的 Fragment。 // 切换到另一个 Fragment switchFragment(AnotherFragment())通过这种方式可以在主页面的占位符上动态替换多个 Fragment 页面。你可以根据需要在不同的事件如按钮点击中调用 switchFragment 方法来切换不同的 Fragment。 2.2 页面中获取主界面 在 AnotherFragment 中获取 MainActivity 的实例并调用 switchFragment 方法你可以使用 Kotlin 的 activity 属性它返回当前 Fragment 所附着的 Activity 实例。你需要确保类型转换安全避免强制转换引起的异常。 下面是一个示例 创建 AnotherFragment在 AnotherFragment 中编写逻辑来获取 MainActivity 实例并调用 switchFragment 方法。 // AnotherFragment.kt class AnotherFragment : Fragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_another, container, false)}override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)// 假设你有一个按钮来触发 Fragment 切换val button: Button view.findViewById(R.id.switch_fragment_button)button.setOnClickListener {(activity as? MainActivity)?.switchFragment(ExampleFragment())}} }!-- fragment_another.xml -- LinearLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationvertical!-- Fragment content goes here --Buttonandroid:idid/switch_fragment_buttonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textSwitch to Example Fragment / /LinearLayout更新 MainActivity确保 MainActivity 里有一个方法 switchFragment 可以被调用。 // MainActivity.kt class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)// 默认加载的 Fragmentif (savedInstanceState null) {supportFragmentManager.beginTransaction().replace(R.id.fragment_container, ExampleFragment()).commit()}}// 用于切换 Fragment 的方法fun switchFragment(fragment: Fragment) {supportFragmentManager.beginTransaction().replace(R.id.fragment_container, fragment).addToBackStack(null).commit()} }通过这种方式你可以在 AnotherFragment 中获取 MainActivity 的实例并调用 switchFragment 方法来切换 Fragment。这利用了 Kotlin 的安全类型转换 (as?) 来确保在类型转换失败时返回 null而不是引发异常。 2.3 复用fragment 每次调用 switchFragment 方法时都会创建一个新的 Fragment 实例并替换当前的 Fragment。如果你希望在切换 Fragment 时复用已有的 Fragment 实例而不是每次都创建一个新的可以在 MainActivity 中维护这些 Fragment 的实例。 下面是一个示例展示如何在 MainActivity 中维护 Fragment 实例并在切换时复用这些实例 在 MainActivity 中维护 Fragment 实例 // MainActivity.kt class MainActivity : AppCompatActivity() {private lateinit var exampleFragment: ExampleFragmentprivate lateinit var anotherFragment: AnotherFragmentoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)if (savedInstanceState null) {// 初始化 Fragment 实例exampleFragment ExampleFragment()anotherFragment AnotherFragment()// 默认加载的 FragmentsupportFragmentManager.beginTransaction().replace(R.id.fragment_container, exampleFragment).commit()} else {// 恢复已存在的 Fragment 实例exampleFragment supportFragmentManager.findFragmentByTag(ExampleFragment) as ExampleFragmentanotherFragment supportFragmentManager.findFragmentByTag(AnotherFragment) as AnotherFragment}}// 用于切换 Fragment 的方法fun switchFragment(fragment: Fragment, tag: String) {supportFragmentManager.beginTransaction().replace(R.id.fragment_container, fragment, tag).addToBackStack(null).commit()} }在 AnotherFragment 中调用 switchFragment 方法 // AnotherFragment.kt class AnotherFragment : Fragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_another, container, false)}override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)// 假设你有一个按钮来触发 Fragment 切换val button: Button view.findViewById(R.id.switch_fragment_button)button.setOnClickListener {(activity as? MainActivity)?.switchFragment((activity as MainActivity).exampleFragment, ExampleFragment)}} }通过这种方式你可以在 MainActivity 中维护 Fragment 的实例并在切换时复用这些实例而不是每次都创建一个新的 Fragment。在调用 switchFragment 方法时通过传递 Fragment 实例和对应的标签tag来替换当前的 Fragment。 2.4 map来管理多个fragment 可以使用一个 Map 来管理多个 Fragment 实例。这可以使得管理 Fragment 的实例更加灵活和高效。你可以在 MainActivity 中使用 Map 来存储 Fragment 实例并在需要切换 Fragment 时从 Map 中获取相应的实例。 以下是一个示例展示如何使用 Map 来管理多个 Fragment 实例 在 MainActivity 中定义一个 Map 来存储 Fragment 实例 // MainActivity.kt class MainActivity : AppCompatActivity() {private val fragmentMap mutableMapOfString, Fragment()override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)if (savedInstanceState null) {// 初始化 Fragment 实例并存储到 Map 中fragmentMap[ExampleFragment] ExampleFragment()fragmentMap[AnotherFragment] AnotherFragment()// 默认加载的 FragmentswitchFragment(ExampleFragment)}}// 用于切换 Fragment 的方法fun switchFragment(tag: String) {val fragment fragmentMap[tag]fragment?.let {supportFragmentManager.beginTransaction().replace(R.id.fragment_container, it, tag).addToBackStack(null).commit()}} }在 AnotherFragment 中调用 switchFragment 方法 // AnotherFragment.kt class AnotherFragment : Fragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_another, container, false)}override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)// 假设你有一个按钮来触发 Fragment 切换val button: Button view.findViewById(R.id.switch_fragment_button)button.setOnClickListener {(activity as? MainActivity)?.switchFragment(ExampleFragment)}} }在 ExampleFragment 中调用 switchFragment 方法类似 AnotherFragment // ExampleFragment.kt class ExampleFragment : Fragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_example, container, false)}override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)// 假设你有一个按钮来触发 Fragment 切换val button: Button view.findViewById(R.id.switch_fragment_button)button.setOnClickListener {(activity as? MainActivity)?.switchFragment(AnotherFragment)}} }通过这种方式你可以使用一个 Map 来管理多个 Fragment 实例并在需要时通过标签tag来切换 Fragment。这使得 Fragment 的管理更加灵活和高效。 2.5 使用库模块中的界面 当然可以在 Android 项目中你可以导入其他模块或库并在你的应用中使用它们定义的 Fragment。以下是一个示例展示如何导入一个模块并使用该模块中定义的 Fragment。 假设你有一个名为 mylibrary 的模块其中定义了一个 CustomFragment。 在你的项目中导入模块 首先确保你的项目的 settings.gradle 文件中包含了该模块 include :app, :mylibrary添加模块依赖 在你的应用模块的 build.gradle 文件中添加对 mylibrary 模块的依赖 dependencies {implementation project(:mylibrary)// 其他依赖项 }在你的模块中定义 Fragment 在 mylibrary 模块中定义一个 CustomFragment // mylibrary/src/main/java/com/example/mylibrary/CustomFragment.kt package com.example.mylibraryimport android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragmentclass CustomFragment : Fragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_custom, container, false)} }!-- mylibrary/src/main/res/layout/fragment_custom.xml -- LinearLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationvertical!-- Fragment content goes here --TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textCustom Fragment / /LinearLayout在主应用中使用 CustomFragment 现在你可以在你的主应用中使用 mylibrary 模块中定义的 CustomFragment。 // MainActivity.kt import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import com.example.mylibrary.CustomFragmentclass MainActivity : AppCompatActivity() {private val fragmentMap mutableMapOfString, Fragment()override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)if (savedInstanceState null) {// 初始化 Fragment 实例并存储到 Map 中fragmentMap[ExampleFragment] ExampleFragment()fragmentMap[AnotherFragment] AnotherFragment()fragmentMap[CustomFragment] CustomFragment()// 默认加载的 FragmentswitchFragment(ExampleFragment)}}// 用于切换 Fragment 的方法fun switchFragment(tag: String) {val fragment fragmentMap[tag]fragment?.let {supportFragmentManager.beginTransaction().replace(R.id.fragment_container, it, tag).addToBackStack(null).commit()}} }在 AnotherFragment 中调用 switchFragment 方法 // AnotherFragment.kt class AnotherFragment : Fragment() {override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_another, container, false)}override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)// 假设你有一个按钮来触发 Fragment 切换val button: Button view.findViewById(R.id.switch_fragment_button)button.setOnClickListener {(activity as? MainActivity)?.switchFragment(CustomFragment)}} }通过这种方式你可以导入一个模块并在主应用中使用该模块中定义的 Fragment。这使得代码更加模块化和可复用。
http://www.hkea.cn/news/14358274/

相关文章:

  • 网站推广一般多少钱最流行网站开发工具
  • 宝塔网站建设跳转微信可打开网站权重优化方式
  • 韩国最牛的设计网站大全沈阳世纪兴网站制作
  • 北京网站制作百度推广百度网站登录
  • 上海网站建设中小型企业wordpress博客设置主题方法
  • 同一家公司可以做几个网站吗免费ppt模板制作软件
  • 有什么做服装的网站好西安电商平台网站
  • 网站建设的目的及目标一个空间可以放几个网站
  • 国内可以做网页的网站附近的教育培训机构有哪些
  • app手机网站开发app拉新平台有哪些
  • 网站的服务器是什么西班牙语网站设计公司哪家好
  • 长沙网站制作多少钱分类网站怎么做项目
  • 网站规划的公司南京模板建站哪家好
  • 淘宝客 备案 网站名称淘宝客模板 wordpress
  • 长安网站设计盘锦做网站公司
  • 新世纪建设集团有限公司网站专门做logo的网站
  • 沧州网站建设代理价格建设局网站公告
  • 上海外贸营销网站建设地址网站突然不收录了
  • 怎样让百度搜不到自己的网站自适应网站系统吗
  • [网络收集]form表单及网站开发中常用js表单取值方法伊春网站优化
  • 制作一个自己的网站岳阳网站建设推广
  • 做网站要商标吗wordpress 文章文件夹
  • 松门建设规划局网站冠县网站建设是什么
  • 20个优秀的响应式设计html5网站模板人工智能
  • 想建书画网站怎么做的电子商务网站优化方案
  • o2o网站建设特色9377手游交易平台
  • 网站建设平台赚钱wordpress apahce 静态 windows
  • 找网站公司做网站用了织梦可以吗快速开发网站
  • wordpress网站 搬家拓者吧室内设计吧官网
  • 做网站公司汉狮价格最新新闻事件2023