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

做毕业设计个人网站任务书深圳石岩网站建设

做毕业设计个人网站任务书,深圳石岩网站建设,北京网站建设熊掌号,定远规划建设局网站背景知识 drawlayout的使用 recycleView的使用 CardView的使用 一些开源动画库的使用 ImageView的scaleType属性与adjustViewBounds属性 #xff0c;参考链接#xff1a; ImageView的android:adjustViewBounds属性 - - ITeye技术网站 Android ImageView的scaleType属性与…背景知识 drawlayout的使用 recycleView的使用 CardView的使用 一些开源动画库的使用 ImageView的scaleType属性与adjustViewBounds属性 参考链接 ImageView的android:adjustViewBounds属性 - - ITeye技术网站 Android ImageView的scaleType属性与adjustViewBounds属性 - Android移动开发技术文章_手机开发 - 红黑联盟 效果如下 程序开始动画实现 第一步使用开源库 gzu-liyujiang/ViewAnimator: A fluent Android animation library。安卓动画库 在depencies中加入 compile com.github.florent37:viewanimator:1.0.2aar compile com.nineoldandroids:library:2.4.0 java代码 package com.zj.materialfood;import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.view.animation.AccelerateDecelerateInterpolator; import android.widget.ImageView; import android.widget.TextView;import com.github.florent37.viewanimator.AnimationListener; import com.github.florent37.viewanimator.ViewAnimator;import java.util.Locale;/*** Created by jjx on 2016/4/9.*/ public class StartActivity extends AppCompatActivity{ImageView image;ImageView mountain;TextView text;TextView percent;android.os.Handler handlernew android.os.Handler(){Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);}};Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_start);image (ImageView) findViewById(R.id.image1);mountain (ImageView) findViewById(R.id.mountain);text (TextView) findViewById(R.id.text1);percent (TextView) findViewById(R.id.percent);animateParallel();/*handler.postDelayed(new Runnable() {Overridepublic void run() {// TODO Auto-generated method stub//进入主页面Intent intent new Intent(StartActivity.this, MainActivity.class);startActivity(intent);}}, 6000);*/}private void animateParallel() {ViewAnimator.animate(mountain, image).dp().translationY(-1000, 0).alpha(0, 1).andAnimate(percent).scale(0, 1).andAnimate(text).dp().translationY(1000, 0).textColor(Color.BLACK, Color.WHITE).backgroundColor(Color.WHITE, Color.BLACK).waitForHeight().interpolator(new AccelerateDecelerateInterpolator()).duration(1000).thenAnimate(percent).custom(new AnimationListener.UpdateTextView() {Overridepublic void update(TextView view, float value) {value value * 100;view.setText(String.format(Locale.US, %.0f%%, value));}}, 0, 1).andAnimate(image).rotation(0, 360).onStop(new AnimationListener.Stop() {Overridepublic void onStop() {Intent intent new Intent(StartActivity.this, MainActivity.class);startActivity(intent);}}).duration(1000).start();}} 主界面效果实现 使用开源库 gabrielemariotti/RecyclerViewItemAnimators: An Android library which provides simple Item animations to RecyclerView items 添加依赖 dependencies {compile com.github.gabrielemariotti.recyclerview:recyclerview-animators:0.3.0-SNAPSHOTaar } 添加仓库 repositories {maven { url https://oss.sonatype.org/content/repositories/snapshots/ } } 实现 package com.zj.materialfood;import android.content.Intent; import android.os.Bundle; import android.os.Message; import android.support.design.widget.NavigationView; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView;import java.util.List;import it.gmariotti.recyclerview.adapter.SlideInBottomAnimatorAdapter; import it.gmariotti.recyclerview.adapter.SlideInRightAnimatorAdapter;public class MainActivity extends AppCompatActivity {RecyclerView recyclerView;private ListString mDatas;private HomeAdapter mAdapter;int ids[]new int[]{R.drawable.food1,R.drawable.food2,R.drawable.food3,R.drawable.food4,R.drawable.food5,R.drawable.food6,R.drawable.food7,R.drawable.food8};Toolbar toolbar;SlideInBottomAnimatorAdapter slideInBottomAnimatorAdapter;SlideInRightAnimatorAdapter slideInRightAnimatorAdapter;DrawerLayout mDrawerLayout;ActionBarDrawerToggle mDrawerToggle;NavigationView mNavigationView;android.os.Handler handlernew android.os.Handler(){Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);}};Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);toolbar (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);setTitle(天天美食);//设置DrawerLayoutmDrawerLayout (DrawerLayout) findViewById(R.id.drawer_layout);mDrawerToggle new ActionBarDrawerToggle(this, mDrawerLayout, toolbar,R.string.drawer_open, R.string.drawer_close){//关闭侧边栏时响应Overridepublic void onDrawerClosed(View drawerView) {super.onDrawerClosed(drawerView);}//打开侧边栏时响应Overridepublic void onDrawerOpened(View drawerView) {super.onDrawerOpened(drawerView);}};mDrawerToggle.syncState();mDrawerLayout.setDrawerListener(mDrawerToggle);//设置NavigationView点击事件mNavigationView (NavigationView) findViewById(R.id.navigation_view);setupDrawerContent(mNavigationView);//设置NavigationView点击事件recyclerView (RecyclerView) findViewById(R.id.id_recyclerview);recyclerView.setLayoutManager(new GridLayoutManager(this, 4));mAdapternew HomeAdapter();slideInBottomAnimatorAdapternew SlideInBottomAnimatorAdapter(mAdapter,recyclerView);//recyclerView.setAdapter(slideInRightAnimatorAdapter);handler.postDelayed(new Runnable() {Overridepublic void run() {// TODO Auto-generated method stub//进入主页面recyclerView.setAdapter(slideInBottomAnimatorAdapter);}}, 1000);//recyclerView.setAdapter(mAdapter);}private void setupDrawerContent(NavigationView mNavigationView) {}class HomeAdapter extends RecyclerView.AdapterHomeAdapter.MyViewHolder{Overridepublic HomeAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {MyViewHolder holdernew MyViewHolder(LayoutInflater.from(MainActivity.this).inflate(R.layout.item_main,parent,false));return holder;}Overridepublic void onBindViewHolder(HomeAdapter.MyViewHolder holder, int position) {holder.iv.setBackgroundResource(ids[position]);}Overridepublic int getItemCount() {return 8;}class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ImageView iv;public MyViewHolder(View view){super(view);iv (ImageView) view.findViewById(R.id.iv_food);view.setOnClickListener(this);}Overridepublic void onClick(View view) {Intent intentnew Intent(MainActivity.this,FoodCardActivity.class);startActivity(intent);}}} } 食物列表界面 注意笔者在这里碰到了很大的坑 老是报空指针异常后来发现问题出在设置TextView时setTextView时总是出错搞了很久都不明白后来才发现是在 public ViewHolder(View v) 方法中绑定View与ViewHolder时findViewById没有用 v.findViewById(R.id.iv_food_item)而是直接findViewById(R.id.iv_food_item)了。 总体页面布局 ?xml version1.0 encodingutf-8?RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid.support.v7.widget.Toolbarandroid:idid/food_toolbarandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_alignParentToptrueandroid:title天天美食android:background?attr/colorPrimary/android.support.v7.widget.Toolbarandroid.support.v7.widget.RecyclerViewandroid:idid/food_recyclerviewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_belowid/food_toolbarandroid:scrollbarsnone //RelativeLayout recyView的item布局 ?xml version1.0 encodingutf-8? android.support.v7.widget.CardView xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_marginBottomdimen/card_marginandroid:layout_marginLeftdimen/card_marginandroid:layout_marginRightdimen/card_marginandroid:clickabletrueapp:cardCornerRadius10dpapp:cardElevation10dpLinearLayoutstylestyle/CardView.Contentandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:orientationhorizontalImageView xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:idid/iv_food_itemandroid:layout_width109dpandroid:layout_height135dpandroid:adjustViewBoundstrueandroid:backgrounddrawable/food6android:gravitycenterandroid:layout_margin4dp/LinearLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_marginLeft10dpandroid:orientationverticalTextViewandroid:idid/tvTitleandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:textAppearancestyle/TextAppearance.AppCompat.Titleandroid:text麻婆豆腐android:textColorcolor/primary_text /TextViewandroid:idid/tvDescandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_marginTop2dpandroid:textstring/book_description_1android:textColorcolor/secondary_text //LinearLayout/LinearLayout /android.support.v7.widget.CardView java代码实现 package com.zj.materialfood;import android.content.Intent; import android.os.Bundle; import android.support.design.widget.Snackbar; import android.support.v4.app.NavUtils; import android.support.v4.app.TaskStackBuilder; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView;/*** Created by jjx on 2016/4/10.*/ public class FoodCardActivity extends AppCompatActivity{Toolbar toolbar;RecyclerView recyclerView;MyAdapter mAdapter;int img_ids[]new int[]{R.drawable.lvfood1,R.drawable.lvfood2,R.drawable.lvfood3,R.drawable.lvfood4,R.drawable.lvfood5,R.drawable.lvfood6,R.drawable.lvfood7,R.drawable.lvfood8,R.drawable.lvfood9,R.drawable.lvfood10};String titles[]new String[]{麻婆豆腐,灯影牛肉,夫妻肺片,蒜泥白肉,白油豆腐,鱼香肉丝,泉水豆花,宫保鸡丁 ,东坡墨鱼 ,麻辣香锅};Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_foodcard);toolbar (Toolbar) findViewById(R.id.food_toolbar);setSupportActionBar(toolbar);setTitle(美食菜单);ActionBar actionBargetSupportActionBar();actionBar.setDisplayHomeAsUpEnabled(true);recyclerView (RecyclerView) findViewById(R.id.food_recyclerview);recyclerView.setHasFixedSize(true);LinearLayoutManager linearLayoutManagernew LinearLayoutManager(FoodCardActivity.this);recyclerView.setLayoutManager(linearLayoutManager);recyclerView.setItemAnimator(new DefaultItemAnimator());mAdapter new MyAdapter();recyclerView.setAdapter(mAdapter);}public class MyAdapter extends RecyclerView.AdapterMyAdapter.ViewHolder {private final TypedValue mTypedValue new TypedValue();// Provide a reference to the views for each data item// Complex data items may need more than one view per item, and// you provide access to all the views for a data item in a view holderpublic class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {// each data item is just a string in this casepublic TextView mTextView;public ImageView iv_food;public TextView textDesc;public ViewHolder(View v) {super(v);mTextView (TextView) v.findViewById(R.id.tvTitle);iv_food (ImageView) v.findViewById(R.id.iv_food_item);textDesc (TextView) v.findViewById(R.id.tvDesc);v.setOnClickListener(this);}Overridepublic void onClick(View view) {String text I Love mTextView.getText() .;Snackbar.make(view, text, Snackbar.LENGTH_SHORT).show();}}// Provide a suitable constructor (depends on the kind of dataset)Overridepublic MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) {// create a new viewView v LayoutInflater.from(parent.getContext()).inflate(R.layout.food_item, parent, false);// set the views size, margins, paddings and layout parametersViewHolder vh new ViewHolder(v);return vh;}// Replace the contents of a view (invoked by the layout manager)Overridepublic void onBindViewHolder(ViewHolder holder, int position) {// - get element from your dataset at this position// - replace the contents of the view with that element//holder.mTextView.setText(mDataset[position]);holder.mTextView.setText(titles[position]);holder.iv_food.setBackgroundResource(img_ids[position]);holder.textDesc.setText(很好吃的一道菜 \n东南第一佳味天下之至美 \n地址武珞路30号 \n234人吃过 \n价格: 88.00元);}// Return the size of your dataset (invoked by the layout manager)Overridepublic int getItemCount() {return 10;}}Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch(item.getItemId()){case android.R.id.home:Intent upIntent NavUtils.getParentActivityIntent(this);if (NavUtils.shouldUpRecreateTask(this, upIntent)) {TaskStackBuilder.create(this).addNextIntentWithParentStack(upIntent).startActivities();} else {upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);NavUtils.navigateUpTo(this, upIntent);}return true;default:return super.onOptionsItemSelected(item);}} } 完成
http://www.pierceye.com/news/836120/

相关文章:

  • 建筑必看六个网站门户网站地方生活门户有哪些
  • 江阴 网站开发python基础教程百度亿
  • 邹城网站建设v556本校网站建设
  • 郑州一站式网站搭建北京装饰公司十大排名
  • 网站建设程序代码百度智能创作平台
  • 网上制作网站建立中文网站的英文
  • 网站域名过户查询太原企业网站怎么优化
  • 西安哪些做网站的公司创业平台网站
  • 做网站费用滁州wordpress 快站
  • 上海手机网站制作网站制作最
  • 做一网站APP多少钱网站做照片
  • 会同县做网站设计网站的结构时
  • 行业门户网站制作百度权重是怎么来的
  • 巅云建站as.net 网站开发视频教程
  • 网站开发定制合同在哪个网站可以学做衣服
  • 关键词排行优化网站搜索引擎营销的主要方式有
  • 免费网站建设免费咨询wordpress安装环境搭建
  • 网站怎样和首页做链接地址广厦建设集团官方网站
  • 遂平县网站建设网站建站的类型
  • wordpress多用途主题排行建网站做优化
  • 那里可以做旅游网站的吗手机系统
  • 牙科医院网站源码开封建网站
  • 网站的内容做网站后端的全部步骤
  • 可以做软件的网站有哪些功能wordpress建站事例
  • 静态网站生成刚刚发生在昆明的大事
  • 牡丹江0453免费信息网站学生保险网站
  • 接网站开发项目万网网站后台登陆
  • 江苏网站建站系统平台生存曲线哪个网站可以做
  • 国内产品网站w源码1688index网站制作
  • 韩国网站域名网站推广是干嘛的