`

android开发过程中遇到的一些问题(包括自定义ProgressBar, Intent, Animation, ListView, RadioButton)

阅读更多

问题如下:

1.在自定义的ListView中,在一个Item中同时添加图片、文字、单选按钮时很困难。

最简单的解决办法(网上摘录):

把单选按钮用图片表示即可,然后使用SimpleAdapter放进ListView中,代码如下

  1. simpleAdapter =  new  SimpleAdapter( this , getData(),  
  2.                 R.layout.picture_info, new  String[] { imageViewIdStr,  
  3.                         pictureNameIdStr, picturePixelIdStr, radioImageIdStr },  
  4.                 new   int [] { R.id.imageViewId, R.id.pictureNameId,  
  5.                         R.id.picturePixelId, R.id.radioImageId });  
  6.   
  7.         listView.setOnItemClickListener(new  OnListClickListener());  
  8.         listView.setAdapter(simpleAdapter);  
  9. //////////////////////////////////   
  10. private   class  OnListClickListener  implements  OnItemClickListener {  
  11.   
  12.         public   void  onItemClick(AdapterView<?> arg0, View arg1,  int  arg2,  
  13.                 long  arg3) {  
  14.             // TODO Auto-generated method stub   
  15.             ChangeRadioImage(selectItemIndex, false );  
  16.             ChangeRadioImage(arg2, true );  
  17.             selectItemIndex = arg2;  
  18.         }  
  19. //主要是下面这个函数用来选中和未选中时交换图片的   
  20.                 private   void  ChangeRadioImage( int  position,  boolean  isChangeImage) {  
  21.             SimpleAdapter tmpSimpleAdapter = simpleAdapter;  
  22.             HashMap<String, Object> hm = (HashMap<String, Object>) simpleAdapter  
  23.                     .getItem(position);  
  24.   
  25.             if  (isChangeImage) {  
  26.                 hm.put("radioImageId" , R.drawable.pressed);  
  27.             } else  {  
  28.                 hm.put("radioImageId" , R.drawable.press);  
  29.             }  
  30.             tmpSimpleAdapter.notifyDataSetChanged();  
  31.         }  

2.在ListView中选中一项时,要弹出一个对话框,框中要有动画,这个困扰我很久,其实就是自定义对话框。

解决办法:

(1)使用AnimationDrawable,但是使用它时必须要以事件触发控件才能使图片活动起来,此办法不佳,代码如下

  1. AlertDialog.Builder alertBuild =  new  AlertDialog.Builder( this ); //创建对话框构造器   
  2.  AlertDialog alertDialog;  
  3.  LayoutInflater inflater = LayoutInflater.from(this );  
  4.  View layout = inflater.inflate(R.layout.anim_dialog,  
  5.  (ViewGroup) findViewById(R.id.layoutId));  
  6.  imageAnim = (ImageView) layout.findViewById(R.id.imageAnimId);  
  7.  imageAnim.setBackgroundResource(R.drawable.fly01_anim);  
  8.  Button btn = (Button) layout.findViewById(R.id.testButtonId);  
  9.  btn.setOnClickListener(new  OnClickListener() {  
  10.   
  11.  public   void  onClick(View v) {  
  12.  // TODO Auto-generated method stub   
  13.  AnimationDrawable anim = (AnimationDrawable) imageAnim  
  14.  .getBackground();  
  15.  anim.stop();  
  16.  anim.start();  
  17.  }  
  18.  });  
  19.  alertBuild.setTitle(pictureName[id]);  
  20.  alertBuild.setView(layout);  
  21.  alertDialog = alertBuild.create();  
  22.  return  alertDialog;  
  1. ///////////anim_dialog.xml  
  2. <? xml   version = "1.0"   encoding = "utf-8" ?>   
  3. < LinearLayout   
  4.   xmlns:android = "http://schemas.android.com/apk/res/android"   
  5.   android:id = "@+id/layoutId"   
  6.   android:layout_width = "fill_parent"   
  7.   android:layout_height = "fill_parent"   
  8.   android:orientation = "vertical" >   
  9.   < ImageView   
  10.     android:id = "@+id/imageAnimId"   
  11.     android:layout_width = "wrap_content"   
  12.     android:layout_height = "wrap_content"   />      
  13. < Button   
  14.     android:id = "@+id/testButtonId"   
  15.     android:layout_width = "fill_parent"   
  16.     android:layout_height = "wrap_content"   
  17.     android:text = "Test" />    
  18. </ LinearLayout >   
  19. //////////////////////fly01_anim.xml  
  20. <? xml   version = "1.0"   encoding = "utf-8" ?>   
  21. < animation-list   
  22.     xmlns:android = "http://schemas.android.com/apk/res/android"   
  23.     android:oneshot = "false" >   
  24.     < item   android:drawable = "@drawable/fly01001"   android:duration = "100"   />   
  25.     < item   android:drawable = "@drawable/fly01002"   android:duration = "100"   />   
  26.     < item   android:drawable = "@drawable/fly01003"   android:duration = "100"   />   
  27.     < item   android:drawable = "@drawable/fly01004"   android:duration = "100"   />   
  28.     
    分享到:
    评论

相关推荐

    android游戏开发教程

    - **开发工具**:Android SDK(Software Development Kit)是开发Android应用的基本工具包,包含了开发所需的API库和开发工具;而Android NDK(Native Development Kit)则允许开发者使用C或C++语言进行底层开发,...

    Android应用开发基础教学大纲.pdf

    本教学大纲共包括 10 个实验项目,涵盖了 Android 应用开发的基础知识,包括 Activity 组件的生命周期、用户界面结构、资源管理、Intent、UI 组件、菜单和通知、Dialog、服务、Preferences 和文件操作等。...

    android开发入门教程

    你需要了解不同的控件,如TextView(显示文本)、EditText(文本输入)、Button(按钮)、RadioButton(单选按钮)、ListView(列表视图)和ProgressBar(进度条)等,以及它们各自的功能。此外,掌握布局管理器如...

    Android编程中各种组件的例子在一个项目中

    这个名为"Android编程中各种组件的例子在一个项目中"的项目,旨在通过一个ListView的实例,展示Android开发中的关键组件及其用法,非常适合初学者学习。下面我们将深入探讨这些组件及其在实际应用中的作用。 首先,...

    Google Android SDK开发范例大全1源码第一部分

    《Google Android SDK开发范例大全1源码第一部分》提供了Android应用开发的深入实践,涵盖了Android SDK中的关键组件和功能。这份源码集合主要聚焦在用户界面、丰富的控件、设备交互以及自动化服务等方面,是开发者...

    Android辞典

    在《Android辞典》中,你可以找到如TextView(文本显示)、EditText(文本输入)、Button(按钮)、ImageView(图像显示)、CheckBox(复选框)、RadioButton(单选按钮)、Spinner(下拉列表)、ProgressBar...

    Android控件大全以及各布局空间的使用方式

    Android控件是构成用户界面的基础元素,包括按钮(Button)、文本输入框(EditText)、单选按钮(RadioButton)、复选框(CheckBox)、图片(ImageButton)、进度条(ProgressBar)、列表视图(ListView)、网格视图(GridView)、...

    android应用开发帮助文档参照.pdf

    4. **常用控件**:包括 `EditText`(文本输入框)、`RadioGroup` 和 `RadioButton`(单选按钮)、`Toast`(短暂提示信息)、`CheckBox`(复选按钮)、`ProgressBar`(进度条)、`ListView`(可滚动列表)、`MENU`...

    Android典型技术模块开发详解

    第一篇 Android开发初步 第1章 Android初识 1.1 Android简介 1.1.1 认识Android 1.1.2 Android系统框架 1.1.3 应用程序框架 1.2 Eclipse开发环境 1.2.1 安装ADT插件 1.2.2 安装SDK 1.2.3 配置源代码 1.2.4 创建AVD ...

    android常用控件大全讲解

    在Android开发中,掌握常用的控件是至关重要的。本文将详细介绍Android中常见的控件及其使用方式,同时也会涉及...在实际项目中,开发者还会遇到更多高级控件和自定义视图,需要不断学习和实践才能不断提升开发技能。

    Android_cn_android.widget

    在Android开发中,`android.widget`包是核心组件之一,它包含了各种用户界面(UI)控件,使得开发者能够创建丰富的交互式应用。这个包下的API主要是针对中文环境设计的,便于中国开发者理解和使用。在深入探讨之前,...

    Android中文翻译组——Android中文API——android.widget合集(中)

    在Android应用开发中,`android.widget`包是核心组件之一,包含了众多用于构建用户界面的控件。这个合集特别适合初学者深入理解和掌握Android控件的使用。在这个合集中,我们可以找到各种常见且重要的控件,它们是...

    android 控件教程

    在Android开发中,控件是构建用户界面的基础元素,它们为用户提供交互的视觉表示。本教程将深入探讨Android中常见的控件及其用法,帮助开发者创建功能丰富的应用程序。以下是一些关键知识点: 1. **TextView**:...

    android学习笔记

    Android学习笔记主要涵盖了Android开发的基础知识,包括环境搭建、项目结构、基本概念以及各种控件的使用。以下是对这些知识点的详细说明: 1. **Android开发环境搭建**:Android Studio是Google官方推荐的Android...

    刚开始学习android笔记,和一些控件的整理

    1. **创建一个新的Activity**:在Android开发中,如果需要添加一个新的界面,就需要创建一个新的`Activity`。 2. **编写`onCreate`方法**:这是每个`Activity`生命周期中的一个重要方法,用于初始化`Activity`的...

    Android核心技术开发与实例详解—目录.pdf

    - **2.2.6 Intent和IntentFilter简介**:解释Intent和IntentFilter的基本概念及其在Android中的应用。 - **2.3 小结**:回顾本章涉及的核心知识点,为读者进一步深入学习提供指导。 #### 第3章:Android布局管理...

    Android 各控件使用例子

    在Android开发中,控件是构建用户界面的基本元素,它们为用户提供与应用交互的方式。本教程将深入探讨Android中常见的控件及其用法,通过实际的例子帮助开发者更好地理解和运用。 1. **TextView**:TextView是...

Global site tag (gtag.js) - Google Analytics