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

部门网站建设方案广州网站制作培训

部门网站建设方案,广州网站制作培训,巩义做网站优化,自己做网站还是找网站建设公司好文章目录 主界面布局资源两个工具Fragment主程序 主界面布局资源 在activity_main.xml中#xff0c;声明两个按钮备用#xff0c;再加入一个帧布局#xff0c;待会儿用来展示Fragment。 ?xml version1.0 encodingutf-8? LinearLayo… 文章目录 主界面布局资源两个工具Fragment主程序 主界面布局资源 在activity_main.xml中声明两个按钮备用再加入一个帧布局待会儿用来展示Fragment。 ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticaltools:context.MainActivityButtonandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:idid/button1android:textstring/push/Buttonandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:idid/button2android:textstring/replace/FrameLayoutandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:idid/framelayoutandroid:backgroundcolor/purple_200//LinearLayout两个工具Fragment 用来展示的Fragment随便找两个AS预设的即可这里使用的是一个BlankFragment和一个ItemFragment。 BlankFragment ?xml version1.0 encodingutf-8? FrameLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.BlankFragment1!-- TODO: Update blank fragment layout --TextViewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:textstring/hello_blank_fragment //FrameLayoutpackage com.example.dynamicfragment;import android.os.Bundle;import androidx.fragment.app.Fragment;import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;/*** A simple {link Fragment} subclass.* Use the {link BlankFragment1#newInstance} factory method to* create an instance of this fragment.*/ public class BlankFragment1 extends Fragment {// TODO: Rename parameter arguments, choose names that match// the fragment initialization parameters, e.g. ARG_ITEM_NUMBERprivate static final String ARG_PARAM1 param1;private static final String ARG_PARAM2 param2;// TODO: Rename and change types of parametersprivate String mParam1;private String mParam2;public BlankFragment1() {// Required empty public constructor}/*** Use this factory method to create a new instance of* this fragment using the provided parameters.** param param1 Parameter 1.* param param2 Parameter 2.* return A new instance of fragment BlankFragment1.*/// TODO: Rename and change types and number of parameterspublic static BlankFragment1 newInstance(String param1, String param2) {BlankFragment1 fragment new BlankFragment1();Bundle args new Bundle();args.putString(ARG_PARAM1, param1);args.putString(ARG_PARAM2, param2);fragment.setArguments(args);return fragment;}Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (getArguments() ! null) {mParam1 getArguments().getString(ARG_PARAM1);mParam2 getArguments().getString(ARG_PARAM2);}}Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_blank1, container, false);} }ItemFragment ?xml version1.0 encodingutf-8? androidx.recyclerview.widget.RecyclerView xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:idid/listandroid:namecom.example.dynamicfragment.ItemFragmentandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_marginLeft16dpandroid:layout_marginRight16dpapp:layoutManagerLinearLayoutManagertools:context.ItemFragmenttools:listitemlayout/fragment_item /package com.example.dynamicfragment;import android.content.Context; import android.os.Bundle;import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView;import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;import com.example.dynamicfragment.placeholder.PlaceholderContent;/*** A fragment representing a list of Items.*/ public class ItemFragment extends Fragment {// TODO: Customize parameter argument namesprivate static final String ARG_COLUMN_COUNT column-count;// TODO: Customize parametersprivate int mColumnCount 1;/*** Mandatory empty constructor for the fragment manager to instantiate the* fragment (e.g. upon screen orientation changes).*/public ItemFragment() {}// TODO: Customize parameter initializationSuppressWarnings(unused)public static ItemFragment newInstance(int columnCount) {ItemFragment fragment new ItemFragment();Bundle args new Bundle();args.putInt(ARG_COLUMN_COUNT, columnCount);fragment.setArguments(args);return fragment;}Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (getArguments() ! null) {mColumnCount getArguments().getInt(ARG_COLUMN_COUNT);}}Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view inflater.inflate(R.layout.fragment_item_list, container, false);// Set the adapterif (view instanceof RecyclerView) {Context context view.getContext();RecyclerView recyclerView (RecyclerView) view;if (mColumnCount 1) {recyclerView.setLayoutManager(new LinearLayoutManager(context));} else {recyclerView.setLayoutManager(new GridLayoutManager(context, mColumnCount));}recyclerView.setAdapter(new MyItemRecyclerViewAdapter(PlaceholderContent.ITEMS));}return view;} }主程序 在主程序里我们要实现点击按钮显示不同的Fragment。这里使用一种新的实现按钮方式在声明MainActivity类的时候引用View.OnClickListener接口然后在button1.setOnClickListener(this);中传入this这样按钮被点击时就会自动调用后面写的OnClick函数。 在OnClick函数被调用时我们判断是哪一个按钮被点击了然后根据按钮ID将不同的Fragment展现在帧布局上。 package com.example.dynamicfragment;import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction;import android.os.Bundle; import android.view.View; import android.widget.Button;public class MainActivity extends AppCompatActivity implements View.OnClickListener{Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button1 findViewById(R.id.button1);Button button2 findViewById(R.id.button2);button1.setOnClickListener(this);button2.setOnClickListener(this);}Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button1:replaceFragment(new BlankFragment1());break;case R.id.button2:replaceFragment(new ItemFragment());break;}}private void replaceFragment(Fragment fragment) {FragmentManager fragmentManager getSupportFragmentManager();FragmentTransaction transaction fragmentManager.beginTransaction();transaction.replace(R.id.framelayout, fragment);//创建replace事件transaction.addToBackStack(null);transaction.commit();//执行transaction中的事件} }还需要重点讲解一下的是replaceFragment函数中的栈transaction.addToBackStack(null);中的null指代的是默认栈。加入该语句后每次更新都会向栈中加入一个Fragment且屏幕上显示的即是栈顶的Fragment。当我们点击返回按钮时栈顶的Fragment被弹出屏幕上显示下一个Fragment。 试验如下交替点击两个按钮若干次屏幕上会依次出现两个Fragment交替覆盖而点击返回按钮后最顶上Fragment则会被撤除。
http://www.dnsts.com.cn/news/128814.html

相关文章:

  • 建网站在哪里做广告网站子页面怎么做
  • 邮箱的官方网站注册热词分析工具
  • 网站开发出来为什么加载特别慢WordPress 有趣插件
  • 自己做网站运营ppt设计教程网
  • 网站上做网上支付功能别墅花园装修设计公司
  • 广东购物网站建设价格搜索引擎不友好的网站特征
  • 定制网站开发哪家好网站注册主机
  • 丽江网站设计公司网站建设的实验步骤
  • 联盟网站徐州云建站模板
  • 如何更改网站源码快速搭建网站服务器
  • 可以做淘宝推广的网站吗模板支架图片
  • 桂平网站制作wordpress 菜单链接
  • 全国建设部网站证书查询怎么做网站编辑
  • php+ajax网站开发典型实例 pdf一刻相册有多少免费空间
  • 推广网站平台有哪些wordpress 书店
  • 老外做摄影网站花多少钱做黄页网站要告我
  • 做网站的风险网站建设公司选择标准
  • 上海制作网站开发wordpress相关文章
  • 网站开发必备技能酒吧网站模板
  • 教育培训网站关于做网站的书籍
  • 马鞍山网站制作网站制作素材图片
  • 跨境电商一站式服务平台创网作文
  • 芜湖有没有网站建设公司吗宣传网站设计
  • 建设网站的功能及目的是什么意思公司禁用网站怎么做
  • 网站规划与建设心得大连网站建设报价
  • 网站建设挣钱的需要什么做汽车介绍视频的网站
  • 厦门网站建设2国家级建设网站
  • 江苏网站推广网络wordpress的安装教程
  • 本科学院网站建设方案网站域名修改
  • 公司网站门户建设技术参数表想接外包做网站