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

淘宝客优惠券网站怎么做手机端编程软件

淘宝客优惠券网站怎么做,手机端编程软件,微信网页版入口,北京网站建设排名Android-UI开发指南 Android Studio调试UI设计UI框架布局Layout文本框 android的活动Activity基本概念Activity的生命周期Activity栈创建Activity管理ActivityActivity间传递数据 FragmentAdapterRecyclerViewRecyclerView Adapter#xff08;适配器#xff09;事件setOnItem… Android-UI开发指南 Android Studio调试UI设计UI框架布局Layout文本框 android的活动Activity基本概念Activity的生命周期Activity栈创建Activity管理ActivityActivity间传递数据 FragmentAdapterRecyclerViewRecyclerView Adapter适配器事件setOnItemLongClickListener()方法 Android Studio调试 UI设计 UI框架 布局Layout 1.线性布局 LinearLayout 排列方式(orientation) 有横竖两种方向的水平和垂直 在xml文件中: android:orientationvertical // 垂直排列 android:orientationhorizontal // 水平排列在java代码中: linearLayout.setOrientation(LinearLayout.VERTICAL); // 设置垂直排列 linearLayout.setOrientation(LinearLayout.HORIZONTAL);// 设置水平排列这里需要注意 android:orientationvertical子View使用layout_gravity在垂直方向上的设定无效 android:orientationhorizontal子View使用layout_gravity在水平方向上的设定无效摆放位置(gravity/layout_gravity) gravity是针对当前 控件里面 内容 的摆放 如果是容器则针对的是容器里面子view的摆放 如果是控件则针对的是控件里面内容的摆放。 layout_gravity是指当前控件在 父控件里面 的摆放位置 不过需要注意的一点是父控件设置的gravity的级别要低于子控件设置的layout_gravity。 权重(layout_weight) layout_weight 在LinearLayout布局之中权重也是一个很重要的属性。简单来说就是按比例来分配控件占用父控件的大小。 若C-child表示子布局声明的大小B-blank表示剩余布局的大小P-percent表示子布局占据父布局剩余布局的比例则子布局最终的实际大小R-reality为 R C B * P我们来按照公式来计算 R C B * P 0dp (B-0dp-0dp) * (1/2) (1/2)B也就是父布局的1/2。 weightSum LinearLayout有一个权重数量的标记weightSum。 在LinearLayout中没有声明weightSum时 默认的就是各个控件权重的总和。 0dp与wrap_content 谷歌官方建议子布局的layout_width使用0dp来分比例显示布局 和wrap_content大同小异当使用layout_weight时都表示占据剩余宽度或高度的比重。 但两者有明显区别。 使用0dp时要考虑所分配的布局宽度是否小于控件实际宽度 B是剩余布局的大小 父布局大小 - 子控件大小之和 B C - (C C) -C; R C B * P C (-C) * (1/3) 2/3C 这里的C就是父布局的大小也就是match_parent。 三个属性都用来适应视图的 水平或 垂直大小 一个以视图的 内容或尺寸 为基础的 布局比 精确地指定视图范围更加方便。 1fill_parent 设置一个构件的布局为fill_parent将强制性地使构件扩展 以填充布局单元内尽可能多的空间。 这跟Windows控件的dockstyle属性大体一致。 设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。 2 wrap_content 设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。 以TextView和ImageView控件为例 设置为wrap_content将完整显示其内部的文本和图像。 布局元素将根据内容更改大小。 设置一个视图的尺寸为wrap_content大体等同于设置Windows控件的Autosize属性为True。 3match_parent Android2.2中match_parent和fill_parent是一个意思 . 两个参数意思一样match_parent更贴切 于是从2.2开始两个词都可以用。 那么如果考虑低版本的使用情况你就需要用fill_parent了 文本框 android的活动 Activity基本概念 Activity的生命周期 Activity栈 创建Activity 管理Activity Activity间传递数据 Fragment Adapter 负责将数据绑定到View上 RecyclerView RecyclerView是用于展示大量数据集合的高效控件 RecyclerView Adapter适配器 是Android开发中用于管理RecyclerView的重要组件之一。 主要完成以下几个任务 创建ViewHolder在RecyclerView中每个子项都需要一个ViewHolder来显示数据。Adapter负责创建和管理ViewHolder对象通常通过继承RecyclerView.Adapter类来实现自定义的Adapter并重写其中的方法。 绑定数据到ViewHolderAdapter中的onBindViewHolder()方法负责将数据与ViewHolder进行绑定。在该方法中您可以获取当前位置的数据并将其设置到ViewHolder的各个视图中。 定义Item视图类型如果RecyclerView中存在多个不同的Item视图类型Adapter可以通过重写getItemViewType()方法返回不同的视图类型以便RecyclerView能够正确渲染不同类型的子项。 确定子项数量Adapter需要实现getItemCount()方法来指定RecyclerView中子项的数量。 响应用户交互通过Adapter可以为RecyclerView的子项添加点击事件、长按事件等交互操作。 总之RecyclerView Adapter充当了RecyclerView与数据之间的桥梁负责将数据展示到RecyclerView中并处理与用户交互相关的操作。 事件 setOnItemLongClickListener()方法 LinearLayout mainLayout new LinearLayout(this);mainLayout.setOrientation(LinearLayout.VERTICAL);mainLayout.setBackgroundColor(0xFFF6F8FB);FrameLayout frameLayout new FrameLayout(this);frameLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,0,1));mainLayout.addView(frameLayout);LinearLayout tabLayout new LinearLayout(this);tabLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,dip2px(88)));tabLayout.setOrientation(LinearLayout.HORIZONTAL);tabLayout.setPadding(dip2px(15), 0, dip2px(15), dip2px(15));tabLayout.setBackgroundResource(R.drawable.sp_main_tab_n);mainLayout.addView(tabLayout);// 添加第一个TabFrameLayout tab1FrameLayout new FrameLayout(this);tab1FrameLayout.setLayoutParams(new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,1));tabLayout.addView(tab1FrameLayout);LinearLayout tab1Layout new LinearLayout(this);tab1Layout.setId(R.id.tabLin5);tab1Layout.setLayoutParams(new LinearLayout.LayoutParams(dip2px(64),dip2px(56)));tab1Layout.setOrientation(LinearLayout.VERTICAL);tab1Layout.setGravity(Gravity.CENTER);tab1Layout.setBackgroundResource(R.drawable.sp_main_tab);tab1FrameLayout.addView(tab1Layout);ImageView tab1ImageView new ImageView(this);tab1ImageView.setId(R.id.iv5);tab1ImageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));tab1ImageView.setImageResource(R.drawable.sp_home_tab5);tab1Layout.addView(tab1ImageView);TextView tab1TextView new TextView(this);tab1TextView.setId(R.id.tv_tab5);tab1TextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));tab1TextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);tab1TextView.setGravity(Gravity.CENTER);tab1TextView.setTextColor(ContextCompat.getColor(this, R.color.s_main_tab_text));tab1TextView.setText(R.string.Contacts);tab1Layout.addView(tab1TextView);// 设置TabLayout置底显示LinearLayout.LayoutParams params (LinearLayout.LayoutParams) tabLayout.getLayoutParams();params.gravity Gravity.BOTTOM;tabLayout.setLayoutParams(params);// 添加其他Tab的代码类似省略setContentView(mainLayout);private int dip2px(float dpValue) {final float scale getResources().getDisplayMetrics().density;return (int) (dpValue * scale 0.5f);}
http://www.sadfv.cn/news/84483/

相关文章:

  • 建筑企业招聘网站织梦者网站模板
  • 做网站需要写代码吗在哪注册域名
  • 包头教育平台网站建设婺源做网站
  • 东莞网站制作哪里好如何给wordpress导航添加图标
  • 超市网站建设策划书潍坊建设网站的公司
  • 做网站需要icp吗中企动力企业邮箱下载
  • 长沙市网站制作起名最好的网站排名
  • 南宁网站设计公司排名做一个网站的建设流程
  • 建网站支持设备是什么意思百度网盟推广 网站
  • 网站建设方案报告一个专门做视频配音的网站
  • 上海网站建设官方网站网站开发有哪些参考文献
  • 兖州中材建设有限公司网站网页版传奇大全
  • 深圳网站设计网站制作小程序商城装修
  • 展示型手机网站网站建设行业增长率
  • 效果图网站猪八戒网站的建设思路
  • 优化网站关键词的技巧建网站的论坛
  • 威海网站建设公司排名百度网页入口官网
  • 省级住房城乡建设主管部门网站我的网站怎么不能搜索
  • 网站建设开票内容是什么意思施工企业安全生产管理规范
  • 吉安网站推广徽hyhyk1wordpress加帝国cms
  • 何炅做的网站广告百度识图查另一半情头网页版
  • 买网站做设计参考属于什么费用免费技能培训在哪里报名
  • 求网站资源懂的2021ui网页设计是什么
  • 东莞大型网站建设哪家好国内装修公司
  • 九江市建设规划局网站网站如何能吸引用户
  • 网站建设需要缴纳印花税么网站优化关键词价格
  • 网站做子站点有什么用福田做商城网站建设多少钱
  • 网站底部连接怎么做做一个企业网站花费
  • 网站建设与网站优化h5页面制作软件下载
  • 云南营造建设有限公司网站拼多多网站建设框架图