




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 安卓开发实验报告目录一、 页面跳转二、 长按图标抖动以及显示删除一、 页面跳转功能:通过点击button实现2个activity之间的跳转。1.设置监听器监听点击button2.使用intent传输数据完整代码1.ui_test.javapublic class UI_Test extends Activity Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.incident_activity_1); Button bt = (Button)findViewById(R.id.login); bt.setOnClickListener(new OnClickListener(); class OnClickListener implements View.OnClickListener public void onClick(View v) EditText name = (EditText)findViewById(R.); EditText password = (EditText)findViewById(R.id.password); Bundle data=new Bundle(); data.putString(name, name.getText().toString(); data.putString(password, password.getText().toString(); Intent intent = new Intent(UI_Test.this,UI_Result.class); intent.putExtras(data); startActivity(intent); 2.ui_result.javapublic class UI_Result extends Activity Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.incident_activity_2); TextView name = (TextView)findViewById(R.Show); TextView password = (TextView)findViewById(R.id.passwordShow); Intent intent=getIntent(); Bundle result = intent.getExtras(); name.setText(您的用户名为: +result.getString(name); password.setText(您的密码为: +result.getString(password); 3.activity_1.xml 4.activity_2.xml 二、 长按图标抖动以及显示删除功能:将app列举在界面上,并且长按图标使图标进行抖动以及显示删除图标。1. 初始化一个gridview的适配器 2. 通过不停转动图标实现图标的抖动以及添加删除图标3. 添加监听器实现长按图标使图标抖动及显示删除完整代码1. main_activity.java public class MainActivity extends Activity private PackageManager mPackageManager;private GridView mAppGrid;private List mAppList;private Drawable mColorDrawable;private GridViewAdapter mAdapter = null;private static int mAppState = 0; private static final int APP_DELFINISHED = 0x1;public MainActivity() / TODO Auto-generated constructor stubOverridepublic boolean onKeyDown(int keyCode, KeyEvent event) if (keyCode = KeyEvent.KEYCODE_BACK & event.getRepeatCount() = 0)if(mAppState = 1)/resetAllAppIcon();refreshAppList();return true;return super.onKeyDown(keyCode, event);Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);mAppList = new ArrayList();getAppList(mAppList);setContentView(R.layout.activity_main);mAppGrid = (GridView) findViewById(R.id.app_list_grid);mAppGrid.setNumColumns (calculatorNumColumn();mAdapter = new GridViewAdapter(mAppList,this,mPackageManager);mAppGrid.setAdapter(mAdapter);mAppGrid.setOnItemClickListener(clickListener); mAppGrid.setOnItemLongClickListener(itemLongClickListener); /mAppGrid.setOnTouchListener(new PicOnTouchListener();Overrideprotected void onResume() / TODO Auto-generated method stubsuper.onResume();Overrideprotected void onPause() / TODO Auto-generated method stubsuper.onPause();Overrideprotected void onDestroy() / TODO Auto-generated method stubsuper.onDestroy();OnItemClickListener clickListener = new OnItemClickListener() Overridepublic void onItemClick(AdapterView parent, View view, int position,long id) if(mAppState = 1)PackageInfo info = mAppList.get(position);/ActivityUri packageURI = Uri.parse(package: + info.applicationInfo.packageName);Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);startActivityForResult(uninstallIntent,APP_DELFINISHED); ; Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) / TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);OnItemLongClickListener itemLongClickListener = new OnItemLongClickListener() Overridepublic boolean onItemLongClick(AdapterView arg0, View arg1, int arg2, long arg3) / TODO Auto-generated method stub animAllAppIcon(); return true; ;private void getAppList(List list)mPackageManager = getPackageManager();List packs = mPackageManager.getInstalledPackages(0);if(packs != null & packs.size() 0)for(PackageInfo info: packs)if(info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) = 0 &(info.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)=0)list.add(info);private void refreshAppList()mAppList.clear();getAppList(mAppList);mAdapter.setData(mAppList);mAdapter.notifyDataSetChanged();mAppState = 0;private void animAllAppIcon()int nCount = mAppGrid.getChildCount();mColorDrawable = mAppGrid.getSelector();mAppGrid.setSelector(new ColorDrawable(Color.TRANSPARENT);for(int i = 0 ;i nCount; i +)View v = mAppGrid.getChildAt(i);RelativeLayout layout;Animation shake;/if(i % 2 = 0)shake = AnimationUtils.loadAnimation(MainActivity.this, R.anim.icon_anim_left);shake.reset();shake.setFillAfter(true);/else/shake = AnimationUtils.loadAnimation(/MainActivity.this, R.anim.icon_anim_right);/shake.reset();/shake.setFillAfter(true);/v.startAnimation(shake);layout = (RelativeLayout)v.findViewById(R.id.view_delete);layout.setVisibility(View.VISIBLE);mAppState = 1;private void resetAllAppIcon()int nCount = mAppGrid.getChildCount();mAppGrid.setSelector(mColorDrawable);for(int i = 0 ;i nCount; i +)View v = mAppGrid.getChildAt(i);RelativeLayout layout;v.clearAnimation();layout = (RelativeLayout)v.findViewById(R.id.view_delete);layout.setVisibility(View.INVISIBLE);mAppState = 0;private int calculatorNumColumn()int nCol = 5;android.view.Display display = getWindowManager().getDefaultDisplay(); int widthPIX = display.getWidth(); final float scale = getResources().getDisplayMetrics().density;nCol = (int)(widthPIX/scale/80);return nCol;/*private class PicOnTouchListener implements OnTouchListener Override public boolean onTouch(View v, MotionEvent event) if(mAppState = 1) resetAllAppIcon(); return true; */ 2. GridViewAdapter public class GridViewAdapter extends BaseAdapter List mAppList = null;PackageManager mPackageManager = null;View mView = null;Context mContext = null;public GridViewAdapter(List list, Context context,PackageManager manager) mAppList = list;mContext = context;mPackageManager = manager;Overridepublic int getCount() return mAppList.size();Overridepublic Object getItem(int position) return mAppList.get(position);Overridepublic long getItemId(int position) return position;Overridepublic View getVi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考点解析-人教版九年级物理《电压电阻》重点解析练习题(含答案详解)
- 2025教师资格国考试题及答案
- 2025江西财经考试真题及答案
- 难点详解人教版八年级上册物理物态变化《升华和凝华》专题训练练习题(含答案详解)
- 3dmax期中考试习题及答案
- 东康一中考试题目及答案
- 森林消防员招考试题库及答案
- 计算机二级ps考试真题及答案
- 数据库系统原理自考试题及答案
- 汽车配件销售员基础知识自考试题及答案
- GB 18613-2020电动机能效限定值及能效等级
- GA 1167-2014探火管式灭火装置
- 文物保护施工方案
- 建筑施工现场消防专题培训课件
- 高中通用技术(相框)设计方案
- 医院老院区病房楼改造工程案例课件
- 架空光缆施工组织方案
- 4S店灯光检查手势
- 检验员资格认定规定
- 四渡赤水课件(共25张PPT)
- 大班韵律《男儿当自强》课件
评论
0/150
提交评论