资讯专栏INFORMATION COLUMN

旅游项目实战开发

Caizhenhao / 2585人阅读

摘要:首先创建对象对象实现该方法设置时间并跳转创建主界面等,创建布局,如同微信下方点击效果。添加点击效果首页创建对象添加隐藏添加隐藏事物添加默认显示首页其他页面隐藏提交获取管理类这样就可以显示了,模仿微信我的界面布局,用点击我的按钮,加载布局。

版权声明:未经博主允许不得转载

一:简介

【达叔有道】软件技术人员,时代作者,从 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 List images;

    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

相关文章

  • AI学习路线

    摘要:针对公司样本不足,采用小样本技术和深度学习技术结合,是项目落地的解决方案。深度学习作为当前机器学习领域最热门的技术之一,已经在图像处理领域获得了应用,并且展现出巨大的前景。旨在帮助同学们快速上手如何使用库来完整机器学习案例。 阶段一、人工智能基础 - 高等数学必知必会 本阶段主要从数据分析、概率论和线性代数及矩阵和凸优化这四大块讲解基础,旨在训练大家逻辑能力,分析能力。拥有良好的数学基...

    xuweijian 评论0 收藏0
  • Java入门基础知识点总结(详细篇)

    摘要:深入理解数据库管理系统通用知识及数据库的使用与管理。为后台开发打下坚实基础。项目文档,项目规范,需求分析,数据库设计,工程构建,需求评审,配置管理,修复,项目管理等。 很多新手在学习java的时候都比较迷茫,不知道从哪里开始学起,这里就给大家整理了一份java开发学习路线,比较系统全面,可参...

    shinezejian 评论0 收藏0
  • NodeJs+Express+Mysql + Vuejs 项目实战 - 大纲

    摘要:多一个技能多一条出路,祝你在自学道路上越走越好,掌握自己的核心技能,不只是优秀,还要成为不可替代的人 NodeJs+Express+Mysql + Vuejs 项目实战 最近准备写一系列文章,全面讲述如何基于NodeJs + Express + Mysql + Vuejs 从零开发前后端完全分离项目; 文笔及技术可能在某些方面欠佳,请您指正,共同学习进步 前端:Vuejs全家桶 后端:...

    noONE 评论0 收藏0
  • NodeJs+Express+Mysql + Vuejs 项目实战 - 大纲

    摘要:多一个技能多一条出路,祝你在自学道路上越走越好,掌握自己的核心技能,不只是优秀,还要成为不可替代的人 NodeJs+Express+Mysql + Vuejs 项目实战 最近准备写一系列文章,全面讲述如何基于NodeJs + Express + Mysql + Vuejs 从零开发前后端完全分离项目; 文笔及技术可能在某些方面欠佳,请您指正,共同学习进步 前端:Vuejs全家桶 后端:...

    Miracle_lihb 评论0 收藏0
  • 如何从零入门React?实战做个FM应用吧

    摘要:面试造航母,工作拧螺丝,新公司面试技术官要求会技术栈。然而公司项目暂时并没有用到,不过为了提升实战经验,还是在业余时间捣腾出一个,以下是项目介绍。前段为了学习小程序的开发,做了个小程序名叫口袋吉他,这也是个人兴趣驱使的开发想法。 面试造航母,工作拧螺丝,新公司面试技术官要求会react技术栈。 问:有使用过React么?答:没,只使用过Vue。又问:给你一星期能上手开发么?答:可以(一...

    codecook 评论0 收藏0
  • Vue项目搭建、只需四步轻松搞定!

    摘要:你只要算好各种食材的比例,不用关心做菜的过程,就是那个微波炉。项目搭建步骤官网官网开发环境安装配置项目配置如图所示运行项目开发编译在浏览器输入看到,就跑通了。从基础开始,循序渐进,含有常用实战项目,贴近企业真实现状。 用一个完成的Vue系列文章,让大家全面理解Vue的实现原理,掌握实用技巧,能在实战中使用Vue,解锁一个开发技能。文末有文章大纲请查看。不墨迹了!马上写内容: 1.为什...

    张巨伟 评论0 收藏0

发表评论

0条评论

Caizhenhao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<