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

app开发与网站开发有何不同广州注册公司核名在哪个网站

app开发与网站开发有何不同,广州注册公司核名在哪个网站,小公司如何做网站,网站开发的意义和作用我的项目源码托管地址#xff1a;点击打开我的项目源码地址 来先看一下效果吧#xff08;虚拟机录制卡卡的#xff0c;而且上传图片大小限制#xff09; 如果平时用app仔细的话可以不难发现一些介绍页面是顶部图片下边文字#xff0c;或者顶部大图下面小图列表介绍#…我的项目源码托管地址点击打开我的项目源码地址 来先看一下效果吧虚拟机录制卡卡的而且上传图片大小限制 如果平时用app仔细的话可以不难发现一些介绍页面是顶部图片下边文字或者顶部大图下面小图列表介绍原来没有v7的时候需要自己进行手势事件的处理现在有了然后感觉系统的一些空间就帮你处理了还是根据代码说问题吧先看activity的代码 package com.fanyafeng.materialdesign.activity;import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.support.v7.widget.Toolbar; import android.view.View;import com.fanyafeng.materialdesign.BaseActivity; import com.fanyafeng.materialdesign.Constant.MaterialDesignConstant; import com.fanyafeng.materialdesign.R; import com.fanyafeng.materialdesign.adapter.RVAdapter; import com.fanyafeng.materialdesign.fragment.ViewPagerFragment; import com.fanyafeng.materialdesign.util.FitScreenUtil; import com.fanyafeng.materialdesign.util.MyUtils;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class StaggeredActivity extends BaseActivity {private final static String[] imgList {http://img3.imgtn.bdimg.com/it/u1592877738,3666022423fm21gp0.jpg,http://img5.imgtn.bdimg.com/it/u3455823481,3036827216fm21gp0.jpg,data:image/jpeg;base64,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,http://img3.imgtn.bdimg.com/it/u270179915,2007129802fm21gp0.jpg,http://img3.imgtn.bdimg.com/it/u1255836822,4097950891fm21gp0.jpg};private ListFragment fragmentList;private ViewPager staggerViewpager;private RecyclerView rvStagger;private ListString stringList;private RVAdapter rvAdapter;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_staggered);title 测试viewpager和toolbar的嵌套;FloatingActionButton fab (FloatingActionButton) findViewById(R.id.fab);fab.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {Snackbar.make(view, Replace with your own action, Snackbar.LENGTH_LONG).setAction(Action, null).show();}});initView();initData();}private void initView() {staggerViewpager (ViewPager) findViewById(R.id.staggerViewpager);fragmentList new ArrayList();for (int i 0; i 4; i) {ViewPagerFragment viewPagerFragment new ViewPagerFragment();Bundle bundle new Bundle();bundle.putString(img, imgList[i]);viewPagerFragment.setArguments(bundle);fragmentList.add(viewPagerFragment);}staggerViewpager.setAdapter(new PagerAdapter(getSupportFragmentManager(), fragmentList));staggerViewpager.setCurrentItem(0);rvStagger (RecyclerView) findViewById(R.id.rvStagger);rvStagger.setHasFixedSize(true);}private void initData() {stringList new ArrayList();stringList Arrays.asList(MaterialDesignConstant.imageList);rvAdapter new RVAdapter(this, stringList);rvStagger.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));rvStagger.setAdapter(rvAdapter);}class PagerAdapter extends FragmentPagerAdapter {private ListFragment fragmentList;public PagerAdapter(FragmentManager fm, ListFragment fragmentList) {super(fm);this.fragmentList fragmentList;}Overridepublic Fragment getItem(int position) {return fragmentList.get(position);}Overridepublic int getCount() {return fragmentList.size();}}} 再看它的两个xml代码 ?xml version1.0 encodingutf-8? android.support.design.widget.CoordinatorLayout 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:fitsSystemWindowsfalsetools:contextcom.fanyafeng.materialdesign.activity.StaggeredActivityandroid.support.design.widget.AppBarLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:themestyle/AppTheme.AppBarOverlayandroid.support.design.widget.CollapsingToolbarLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:fitsSystemWindowstrueapp:contentScrim?attr/colorPrimaryapp:expandedTitleMarginEnd64dpapp:expandedTitleMarginStart48dpapp:layout_scrollFlagsscroll|exitUntilCollapsedRelativeLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentcom.fanyafeng.materialdesign.view.WrapContentPagerandroid:idid/staggerViewpagerandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_gravitycenter //RelativeLayoutandroid.support.v7.widget.Toolbarandroid:idid/toolbarandroid:layout_widthmatch_parentandroid:layout_height?attr/actionBarSizeandroid:backgroundandroid:color/transparentapp:layout_collapseModepinapp:popupThemestyle/AppTheme.PopupOverlay //android.support.design.widget.CollapsingToolbarLayout/android.support.design.widget.AppBarLayoutinclude layoutlayout/content_staggered /android.support.design.widget.FloatingActionButtonandroid:idid/fabandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_gravitybottom|endandroid:layout_margindimen/fab_marginandroid:srcandroid:drawable/ic_dialog_email //android.support.design.widget.CoordinatorLayout第二个xml ?xml version1.0 encodingutf-8? RelativeLayout 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_parentapp:layout_behaviorstring/appbar_scrolling_view_behaviortools:contextcom.fanyafeng.materialdesign.activity.StaggeredActivitytools:showInlayout/activity_staggeredandroid.support.v7.widget.RecyclerViewandroid:idid/rvStaggerandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent //RelativeLayout再来看fragment package com.fanyafeng.materialdesign.fragment;import android.content.Context; import android.net.Uri; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;import com.facebook.drawee.view.SimpleDraweeView; import com.fanyafeng.materialdesign.R; import com.fanyafeng.materialdesign.util.ControllerListenerUtil; import com.fanyafeng.materialdesign.util.MyUtils;/*** A simple {link Fragment} subclass.* Activities that contain this fragment must implement the* to handle interaction events.* Use the {link ViewPagerFragment#newInstance} factory method to* create an instance of this fragment.*/ public class ViewPagerFragment extends Fragment {// TODO: Rename parameter arguments, choose names that match// the fragment initialization parameters, e.g. ARG_ITEM_NUMBERprivate static final String ARG_PARAM1 img;private static final String ARG_PARAM2 param2;// TODO: Rename and change types of parametersprivate String mParam1;private String mParam2;private View view;private SimpleDraweeView itemViewpager;public ViewPagerFragment() {// 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 ViewPagerFragment.*/// TODO: Rename and change types and number of parameterspublic static ViewPagerFragment newInstance(String param1, String param2) {ViewPagerFragment fragment new ViewPagerFragment();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 fragmentview inflater.inflate(R.layout.fragment_view_pager, container, false);return view;}Overridepublic void onActivityCreated(Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);initView();initData();}private void initView() {itemViewpager (SimpleDraweeView) view.findViewById(R.id.itemViewpager);itemViewpager.setAspectRatio(1.6024f);itemViewpager.setImageURI(Uri.parse(mParam1)); // // ControllerListenerUtil.setControllerListener(itemViewpager, mParam1, MyUtils.getScreenWidth(getActivity()), getActivity());}private void initData() {}} fragment的xml FrameLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightwrap_contenttools:contextcom.fanyafeng.materialdesign.fragment.ViewPagerFragmentcom.facebook.drawee.view.SimpleDraweeViewandroid:idid/itemViewpagerandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentapp:viewAspectRatio1.6024 //FrameLayout再有就是rvadapter package com.fanyafeng.materialdesign.adapter;import android.content.Context; import android.net.Uri; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;import com.andview.refreshview.recyclerview.BaseRecyclerAdapter; import com.facebook.drawee.view.SimpleDraweeView; import com.fanyafeng.materialdesign.R; import com.fanyafeng.materialdesign.util.ControllerListenerUtil; import com.fanyafeng.materialdesign.util.MyUtils;import java.util.List;/*** Created by 365rili on 16/6/14.*/ public class RVAdapter extends BaseRecyclerAdapterRVAdapter.ViewHolder {private Context context;private ListString stringList;public RVAdapter(Context context, ListString stringList) {this.context context;this.stringList stringList;}public OnItemClickListener onItemClickListener;public void setOnItemClickListener(OnItemClickListener onItemClickListener) {this.onItemClickListener onItemClickListener;}public interface OnItemClickListener {void onItemClickListener(View view, String string, int position);void onItemLongClickListener(View view, String string, int position);}Overridepublic ViewHolder getViewHolder(View view) {return new ViewHolder(view);}Overridepublic ViewHolder onCreateViewHolder(ViewGroup parent, int viewType, boolean isItem) {View view LayoutInflater.from(context).inflate(R.layout.item_rv_layout, parent, false);return new ViewHolder(view);}Overridepublic void onBindViewHolder(ViewHolder holder, final int position, boolean isItem) { // holder.sdvRvItem.setImageURI(Uri.parse(stringList.get(position))); // holder.sdvRvItem.setControllerListenerUtil.setControllerListener(holder.sdvRvItem, stringList.get(position), MyUtils.getScreenWidth(context) 1, context);if (onItemClickListener ! null) {holder.sdvRvItem.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {onItemClickListener.onItemClickListener(v, stringList.get(position), position);}});holder.sdvRvItem.setOnLongClickListener(new View.OnLongClickListener() {Overridepublic boolean onLongClick(View v) {onItemClickListener.onItemClickListener(v, stringList.get(position), position);return false;}});}}Overridepublic int getAdapterItemCount() {return stringList.size();}public class ViewHolder extends RecyclerView.ViewHolder {private SimpleDraweeView sdvRvItem;public ViewHolder(View itemView) {super(itemView);sdvRvItem (SimpleDraweeView) itemView.findViewById(R.id.sdvRvItem);}} }简单来说一下demo的结构toolbarviewpagerviewpager是采用fragment的方式进行实现的recyclerview瀑布流 这里用的viewpager是自己写的进行自适应的 package com.fanyafeng.materialdesign.view;import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.View;/*** Created by zgw on 15/7/23 上午12:45.*/ public class WrapContentPager extends ViewPager {public WrapContentPager(Context context) {super(context);}public WrapContentPager(Context context, AttributeSet attrs) {super(context, attrs);}Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int height 0;for (int i 0; i getChildCount(); i) {View child getChildAt(i);child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));int h child.getMeasuredHeight();if (h height) height h;}heightMeasureSpec MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);super.onMeasure(widthMeasureSpec, heightMeasureSpec);}}这里说一下collapsingtoolbarlayout默认是全部展开也就是toolbar默认的background收起的时候是theme主题可以进行响应的自定义今天博客好卡先写到这以后补充
http://www.w-s-a.com/news/294822/

相关文章:

  • 网站301什么意思湛江市seo网站设计报价
  • 免费建造网站化妆品网络营销方案
  • 建公司网站wordpress the content
  • 网站的站点的管理系统建设银行网站注册企业
  • 长春火车站是哪个站做微商哪个网站有客源
  • 亚马逊培训费用一般多少seo专业培训课程
  • 做推文封面图网站南宁高端网站建设
  • 天津网站搜索排名做电影免费ppt模板下载网站
  • 襄樊最好网站建设价格网站建设与设计 毕业设计
  • 网站推广广告词大全集网站建设相对路径
  • 甘肃省铁路投资建设集团有限公司网站域名怎么实名认证
  • 企业网站建设的层次返利网站建设
  • 竞价单页网站制作中小企业网站建设问题
  • 响应式网站源码学校网站制作多少钱
  • 营销型网站建设需要懂什么网站建站四件套是什么
  • 廊坊哪里有制作手机网站的区块链开发语言
  • 找建设项目的网站装企工长网站开发
  • 戴尔网站建设成功方正网站制作
  • 怎么买网站域名wordpress 视频站模版
  • 厦门官网建设公司杨和关键词优化
  • 怎么做网约车seo自动优化软件下载
  • 遵义市住房和城乡建设局官方网站网站备案 自己的服务器
  • 分销系统价格多少北京网站优化平台
  • 怎样做旅游公司的网站泉州网站建设方案优化
  • 手机网站页面范例个人网站做淘宝客违规
  • 做一套网站开发多少钱SEO做得最好的网站
  • 咸宁做网站的公司那家便宜福建建设注册管理中心网站
  • 网站建设工作汇报黑科技广告推广神器
  • 淘宝做首页热点的什么网站徐州建设安全监督网站
  • 正规的镇江网站建设广州有什么好玩的东西