摘要:首先创建对象对象实现该方法设置时间并跳转创建主界面等,创建布局,如同微信下方点击效果。添加点击效果首页创建对象添加隐藏添加隐藏事物添加默认显示首页其他页面隐藏提交获取管理类这样就可以显示了,模仿微信我的界面布局,用点击我的按钮,加载布局。
一:简介版权声明:未经博主允许不得转载
【达叔有道】软件技术人员,时代作者,从 Android 到全栈之路,我相信你也可以!阅读他的文章,会上瘾!You and me, we are family !
二:项目说明项目还好,难度不大,接下来说明一下如何制作广告显示已经一些UI布局等。
三:项目代码说明一般地,点击一款APP,会有一个页面图展示效果,几秒后跳转到主界面。
SplashActivity.java
public class SplashActivity extends AppCompatActivity{ protected Handler mHandler=new Handler();//首先创建Handler对象 @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); //对象.postDelayed实现该方法 mHandler.postDelayed(new Runnable() { @Override public void run() { //设置时间并跳转 startActivity(new Intent(SplashActivity.this,MainActivity.class)); } },2000); } }
创建主界面等,创建Fragment布局,如同微信下方点击效果。分别创建fragment.xml布局,fragment.java等。
public class MainFragment extends Fragment { //创建完,继承Fragment,extends Fragment //导入import android.support.v4.app.Fragment; //点击ctrl+o,导入方法,不用自己写onCreateView @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { //返回自己渲染的布局 return inflater.inflate(R.layout.fragment_main,container,false); } }
然后再主方法中添加动态生成Fragment,MainActivity.java中添加Fragment。
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ } //添加点击效果 protected MainFragment mMainFragment=new MainFragment();//首页 //创建对象 this.getSupportFragmentManager() .beginTransaction() .add(R.id.container_content,mMainFragment) .add(R.id.container_content,mMainoneFragmenr)//添加 .hide(mMainoneFragmenr)//隐藏 .add(R.id.container_content,mMaintwoFragment)//添加 .hide(mMaintwoFragment)//隐藏 //事物添加 //默认显示首页 其他页面隐藏 //提交 .commit(); //获取管理类
这样就可以显示了,模仿微信我的界面布局,用点击我的按钮,加载fragment布局。滚动列表展示功能等。
我的界面fragment.java
@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_me,container,false); }
添加广告
在布局文件中添加ViewPager
MainFragment.java
protected ViewPager mVPagerHeaderAd;//广告头 //onActivityCreated mVPagerHeaderAd= (ViewPager) getView().findViewById(R.id.vpager_main_header_ad); //添加适配器 MainHeaderAdAdapter adapter=new MainHeaderAdAdapter(getActivity(), DataUtil.getHeaderAddInfo(getActivity(),icons)); mVPagerHeaderAd.setAdapter(adapter); //创建一个适配器文件 public class MainHeaderAdAdapter extends PagerAdapter{ } //继承extends PagerAdapter //再写两个方法 @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(images.get(position)); return images.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(images.get(position)); } protected Context context; protected Listimages; public MainHeaderAdAdapter(Context context, List images){ this.context=context; this.images=images; } //添加数据图片DataUtil public static List getHeaderAddInfo(Context context, int icons[]){ List datas=new ArrayList<>(); for (int i = 0; i 排布
protected RecyclerView mRecycleViewMenu;//主菜单 mRecycleViewMenu= (RecyclerView) getView().findViewById(R.id.recycleview_main_menu); mRecycleViewMenu.setLayoutManager(new GridLayoutManager(getActivity(),4)); MainMenuAdapter mainMenuAdapter=new MainMenuAdapter(getActivity(),DataUtil.getMainMenus(menuIons,menus)); mRecycleViewMenu.setAdapter(mainMenuAdapter); // protected String [] menus; menus=this.getActivity().getResources().getStringArray(R.array.main_menu); //adpater extends RecyclerView.Adapter//onBindViewHolder // ViewHolder class MainMenuViewholder extends RecyclerView.ViewHolder{ public ImageView mImgMenuIcon; public TextView mTextMenuName; public MainMenuViewholder(@NonNull View itemView) { super(itemView); mImgMenuIcon=itemView.findViewById(R.id.img_menu_icon); mTextMenuName=itemView.findViewById(R.id.txt_menu_name); } } // public int icon; public String menuName; public Menu(int icon,String menuName){ this.icon=icon; this.menuName=menuName; } build.gradler
dependencies { implementation fileTree(include: ["*.jar"], dir: "libs") implementation "com.android.support:appcompat-v7:26.1.0" implementation "com.android.support.constraint:constraint-layout:1.1.2" testImplementation "junit:junit:4.12" androidTestImplementation "com.android.support.test:runner:1.0.2" androidTestImplementation "com.android.support.test.espresso:espresso-core:3.0.2" compile "com.android.support:recyclerview-v7:26.1.0" } //compile "com.android.support:recyclerview-v7:26.1.0" //implementation "com.android.support:appcompat-v7:26.1.0"总结统一控件版本,# TravelDemo
编辑 :达叔
定位:分享 Android&Java 知识点
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/2965.html
摘要:深入理解数据库管理系统通用知识及数据库的使用与管理。为后台开发打下坚实基础。项目文档,项目规范,需求分析,数据库设计,工程构建,需求评审,配置管理,修复,项目管理等。 很多新手在学习java的时候都比较迷茫,不知道从哪里开始学起,这里就给大家整理了一份java开发学习路线,比较系统全面,可参...
摘要:多一个技能多一条出路,祝你在自学道路上越走越好,掌握自己的核心技能,不只是优秀,还要成为不可替代的人 NodeJs+Express+Mysql + Vuejs 项目实战 最近准备写一系列文章,全面讲述如何基于NodeJs + Express + Mysql + Vuejs 从零开发前后端完全分离项目; 文笔及技术可能在某些方面欠佳,请您指正,共同学习进步 前端:Vuejs全家桶 后端:...
摘要:多一个技能多一条出路,祝你在自学道路上越走越好,掌握自己的核心技能,不只是优秀,还要成为不可替代的人 NodeJs+Express+Mysql + Vuejs 项目实战 最近准备写一系列文章,全面讲述如何基于NodeJs + Express + Mysql + Vuejs 从零开发前后端完全分离项目; 文笔及技术可能在某些方面欠佳,请您指正,共同学习进步 前端:Vuejs全家桶 后端:...
摘要:面试造航母,工作拧螺丝,新公司面试技术官要求会技术栈。然而公司项目暂时并没有用到,不过为了提升实战经验,还是在业余时间捣腾出一个,以下是项目介绍。前段为了学习小程序的开发,做了个小程序名叫口袋吉他,这也是个人兴趣驱使的开发想法。 面试造航母,工作拧螺丝,新公司面试技术官要求会react技术栈。 问:有使用过React么?答:没,只使用过Vue。又问:给你一星期能上手开发么?答:可以(一...
摘要:你只要算好各种食材的比例,不用关心做菜的过程,就是那个微波炉。项目搭建步骤官网官网开发环境安装配置项目配置如图所示运行项目开发编译在浏览器输入看到,就跑通了。从基础开始,循序渐进,含有常用实战项目,贴近企业真实现状。 用一个完成的Vue系列文章,让大家全面理解Vue的实现原理,掌握实用技巧,能在实战中使用Vue,解锁一个开发技能。文末有文章大纲请查看。不墨迹了!马上写内容: 1.为什...
阅读 3074·2023-04-25 22:43
阅读 2308·2021-09-23 11:20
阅读 3372·2021-09-06 15:15
阅读 1135·2019-08-30 15:54
阅读 3335·2019-08-30 14:20
阅读 2719·2019-08-29 17:16
阅读 2939·2019-08-29 15:28
阅读 3281·2019-08-29 11:08