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

电子商务网站推广计划兼职网站项目建设报告

电子商务网站推广计划,兼职网站项目建设报告,网页制作中级证书,规模以上工业企业数量功能要求是屏幕上固定显示 3 个 Layout 项(图片文字)#xff0c;支持点击切换到选择的 Layout 项#xff0c;并支持滑动切换到最近的 Layout 项。最后的效果如下#xff1a;下面逐步上代码#xff1a;布局文件 activity_main.xml 如下#xff1a;xmlns:toolshttp://…功能要求是屏幕上固定显示 3 个 Layout 项(图片文字)支持点击切换到选择的 Layout 项并支持滑动切换到最近的 Layout 项。最后的效果如下下面逐步上代码布局文件 activity_main.xml 如下xmlns:toolshttp://schemas.android.com/tools android:layout_widthmatch_parentandroid:layout_heightmatch_parent android:paddingLeftdimen/activity_horizontal_marginandroid:paddingRightdimen/activity_horizontal_marginandroid:paddingTopdimen/activity_vertical_marginandroid:paddingBottomdimen/activity_vertical_margin tools:context.MainActivityandroid:layout_heightwrap_content /android:idid/hsvandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:scrollbarStyleoutsideInsetandroid:idid/avatar_layoutandroid:layout_widthwrap_contentandroid:layout_heightwrap_content/android:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_belowid/hsvandroid:layout_marginTop12dpandroid:idid/scrollx_tv/android:onClickonClickScrollXandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_belowid/scrollx_tvandroid:layout_marginTop12dpandroid:text滚动位置/上面的 HorizontalScrollView 中使用了自定义的 HSVLayout 布局定义(HSVLayout.java)如下public class HSVLayout extends LinearLayout {private HSVAdapter adapter;private Context context;public HSVLayout(Context context, AttributeSet attrs) {super(context, attrs);this.context  context;}/*** 设置布局适配器** param layoutWidthPerAvatar 指定了每一个 item 的占用宽度* param adapter 适配器* param notify 在点击某一个 item 后的回调*/public void setAdapter(int layoutWidthPerAvatar, HSVAdapter adapter,final INotifySelectItem notify) {this.adapter  adapter;for (int i  0; i final Map map  adapter.getItem(i);View view  adapter.getView(i, null, null);// 为视图设定点击监听器final int finalI  i;view.setOnClickListener(new OnClickListener() {Overridepublic void onClick(View v) {// 点击选择了某一个 Item 视图notify.select(finalI);}});this.setOrientation(HORIZONTAL);// 设置固定显示的每个 item 布局的宽度this.addView(view, new LinearLayout.LayoutParams(layoutWidthPerAvatar, LayoutParams.WRAP_CONTENT));}}}HSVLayout 中的每一个 视图 item 都是由 HSVAdapter 进行设置的这个比较简单只控制了每一个 item 的展示不影响整个水平滚动视图public class HSVAdapter extends BaseAdapter {private static final String TAG  HSV;private List lstAvatars;private Context context;private int layoutWidthPerAvatar;public HSVAdapter(Context context, int layoutWidthPerAvatar){this.contextcontext;this.lstAvatars new ArrayList();this.layoutWidthPerAvatar  layoutWidthPerAvatar;}Overridepublic int getCount() {return lstAvatars.size();}Overridepublic Map getItem(int location) {return lstAvatars.get(location);}Overridepublic long getItemId(int arg0) {return arg0;}public void addObject(Map map){lstAvatars.add(map);notifyDataSetChanged();}Overridepublic View getView(int location, View arg1, ViewGroup arg2) {View view  LayoutInflater.from(context).inflate(R.layout.user_avatar,null);view.setLayoutParams(new ViewGroup.LayoutParams(layoutWidthPerAvatar,ViewGroup.LayoutParams.WRAP_CONTENT));TextView tvIndex  (TextView) view.findViewById(R.id.index_tv);tvIndex.setText(index-  String.valueOf(location));return view;}}其对应的布局文件 user_avatar.xml 如下android:orientationverticalandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:gravitycenterandroid:layout_width64dpandroid:layout_height64dpandroid:srcdrawable/avatar/android:idid/index_tvandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:gravitycenter /最后看一下主页面 MainActivitypublic class MainActivity extends ActionBarActivityimplements INotifySelectItem {private static final String TAG  Main;private HorizontalScrollView hsv;private HSVLayout layoutAvatar;private HSVAdapter adapterAvatar;private TextView tvScrollX;private int layoutWidthPerAvatar  0;private Integer[] p_w_picpaths  {R.drawable.avatar,R.drawable.avatar,R.drawable.avatar,R.drawable.avatar,R.drawable.avatar,R.drawable.avatar,R.drawable.avatar,R.drawable.avatar,R.drawable.avatar};// 记录当前居中的头像索引private int currentIndex  1;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);int width  DisplayUtil.getScreenWidth(this);int layoutWidth  (int) (width - getResources().getDimension(R.dimen.activity_horizontal_margin) * 2);// 每一个头像占用的宽度layoutWidthPerAvatar  layoutWidth / 3;hsv  (HorizontalScrollView) findViewById(R.id.hsv);hsv.setOnTouchListener(new View.OnTouchListener() {private int lastScrollX  0;private int TouchEventId  -9987832;Handler handler  new Handler() {Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);if (msg.what  TouchEventId) {if (lastScrollX  hsv.getScrollX()) {// 停止滚动计算合适的位置(采用四舍五入)int indexScrollTo  Math.round(lastScrollX/(layoutWidthPerAvatar*1.0f));Log.d(TAG, stop scroll -   lastScrollX |  layoutWidthPerAvatar |  lastScrollX/(layoutWidthPerAvatar*1.0f) |  indexScrollTo);if (indexScrollTo  0) {hsv.smoothScrollTo(indexScrollTo*layoutWidthPerAvatar, 0);} else {hsv.smoothScrollTo(0, 0);}} else {handler.sendMessageDelayed(handler.obtainMessage(TouchEventId), 100);lastScrollX  hsv.getScrollX();}}}};Overridepublic boolean onTouch(View v, MotionEvent event) {Log.d(TAG, touch event - action:   event.getAction() |  event.getX() |  event.getY() |  hsv.getScrollX() |  hsv.getScrollY());if (event.getAction()  MotionEvent.ACTION_UP) {handler.sendMessageDelayed(handler.obtainMessage(TouchEventId), 100);}return false;}});layoutAvatar  (HSVLayout) findViewById(R.id.avatar_layout);adapterAvatar  new HSVAdapter(this, layoutWidthPerAvatar);for (int i  0; i Map map  new HashMap();map.put(p_w_picpath, p_w_picpaths[i]);map.put(index, (i1));adapterAvatar.addObject(map);}layoutAvatar.setAdapter(layoutWidthPerAvatar, adapterAvatar, this);tvScrollX  (TextView) findViewById(R.id.scrollx_tv);}Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.menu_main, menu);return true;}Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id  item.getItemId();//noinspection SimplifiableIfStatementif (id  R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}Overridepublic void select(int position) {Toast.makeText(this, select   String.valueOf(position),Toast.LENGTH_SHORT).show();if (position  0) {if (currentIndex ! position) {hsv.smoothScrollTo((position-1)*layoutWidthPerAvatar, 0);currentIndex  position;}}}public void onClickScrollX(View view) {tvScrollX.setText(Scroll.x    String.valueOf(hsv.getScrollX()));}}
http://www.pierceye.com/news/341144/

相关文章:

  • 如何建设一个稳定的网站photoshop网页制作视频教程
  • 企业网站建设合作合同28招商加盟网
  • 国外设计灵感网站WordPress数据库添加管理员
  • 山东省建设备案网站审批表免费设计手写签名
  • 家庭电脑做网站深圳罗湖网站制作公司
  • 聊城做wap网站服务有哪些做特卖的网站有哪些
  • wordpress後台建站flash美食网站论文
  • 网站服务器ip地址在哪里看用记事本做电影介绍的网站
  • 重庆企业建站公司沧浪企业建设网站价格
  • 免费建单页网站厂房出租做推广什么网站好
  • jquery网站模板下载做的网站显示不了背景图片
  • 图书管理系统网站开发教程怎么创建自己的网址
  • 网站网站是怎么做的专业app开发制作团队
  • 平顺网站建设应届生在淮北招的网站建设类型岗位
  • 手机网站模板尺寸wordpress5.1更新
  • 微网站设计教育培训机构官网
  • 搭建论坛网站福州工程网站建设团队
  • 易语言跳到指定网站怎么做商业网站建设方案
  • 专业的饰品行业网站开发杭州市建设厅网站
  • 做仿站如何获取网站源码鞍山网站建设优化
  • 网站建设模拟实验报告wordpress表excel插件
  • 苏州企业网站建设电话包头网站制作公司
  • 邓州微网站建设上海十大广告公司排名
  • 深圳装修公司报价网络优化公司排名
  • 互联网建设网站的的好处中国建盏大师排名2021
  • 商城网站建设新闻制作一个网站需要多久
  • 为什么要创建网站子目录泰安网信科技
  • 住房和城乡建设部网站质保金企业手机网站建设效果
  • 网站建设制作鸿运通邯郸网络运营中心电话号码
  • 辽阳企业网站建设价格中国交通建设股份有限公司官网