`

android控件

阅读更多
Button , MediaPlayer, SoundPool,ListView,Spinner,checkBox,RadioGroup,TimePicker
DatePicker,多行EditText

alert提示框


private Dialog buildDialog1(Context context) {
		AlertDialog.Builder builder = new AlertDialog.Builder(context);
		builder.setIcon(R.drawable.alert_dialog_icon);//三角形中间一个感叹号的图
		builder.setTitle(R.string.alert_dialog_two_buttons_title);//提示的文字
		builder.setPositiveButton(R.string.alert_dialog_ok,
				new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {

						setTitle("点击了对话框上的确定按钮");
					}
				});
		builder.setNegativeButton(R.string.alert_dialog_cancel,
				new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {

						setTitle("点击了对话框上的取消按钮");
					}
				});
		return builder.create();
	}



private Dialog buildDialog2(Context context) {
		AlertDialog.Builder builder = new AlertDialog.Builder(context);
		builder.setIcon(R.drawable.alert_dialog_icon);//同上
		builder.setTitle(R.string.alert_dialog_two_buttons_msg);
		builder.setMessage(R.string.alert_dialog_two_buttons2_msg);// 中间一大段文字
		builder.setPositiveButton(R.string.alert_dialog_ok,
				new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {

						setTitle("点击了对话框上的确定按钮");
					}
				});
		builder.setNeutralButton(R.string.alert_dialog_something,
				new DialogInterface.OnClickListener() {//中间的按钮
					public void onClick(DialogInterface dialog, int whichButton) {

						setTitle("点击了对话框上的进入详细按钮");
					}
				});
		builder.setNegativeButton(R.string.alert_dialog_cancel,
				new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {

						setTitle("点击了对话框上的取消按钮");
					}
				});
		return builder.create();
	}



private Dialog buildDialog3(Context context) {
		LayoutInflater inflater = LayoutInflater.from(this);//这个类专门用来实例化一个xml
		final View textEntryView = inflater.inflate(
				R.layout.alert_dialog_text_entry, null);//加载一个xml
		AlertDialog.Builder builder = new AlertDialog.Builder(context);
		builder.setIcon(R.drawable.alert_dialog_icon);
		builder.setTitle(R.string.alert_dialog_text_entry);
		builder.setView(textEntryView);//设置xml
		builder.setPositiveButton(R.string.alert_dialog_ok,
				new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {
						setTitle("点击了对话框上的确定按钮");
					}
				});
		builder.setNegativeButton(R.string.alert_dialog_cancel,
				new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {
						setTitle("点击了对话框上的取消按钮");
					}
				});
		return builder.create();
	}


private Dialog buildDialog4(Context context) {
		ProgressDialog dialog = new ProgressDialog(context);
		dialog.setTitle("正在下载歌曲");
		dialog.setMessage("请稍候……");
		return  dialog;
	}

-----------------------------------------------------------
button



<Button
		android:id="@+id/button"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="普通按钮"
	>
	</Button> 
	<ImageButton
		android:id="@+id/imageButton"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:src="@drawable/img"
	>
	</ImageButton>
	<ToggleButton
		android:id="@+id/toggleButton"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
	>
	</ToggleButton>


监听事件
public void onClick(View v) {//重写的事件处理回调方法
		if(v == button){//点击的是普通按钮
			textView.setText("您点击的是普通按钮");
		}
		else if(v == imageButton){//点击的是图片按钮
			textView.setText("您点击的是图片按钮");
		}
		else if(v == toggleButton){//点击的是开关按钮
			textView.setText("您点击的是开关按钮");
		}		
	}


------------------------------------------------------
播放声音控件
public void initSounds(){//初始化声音的方法
		mMediaPlayer = MediaPlayer.create(this, R.raw.backsound);//初始化MediaPlayer
		//soundPool第一个参数是允许有多少个声音流同时播放,第2个参数是声音类型,第三个参数是声音的品质;
	    soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
	    soundPoolMap = new HashMap<Integer, Integer>(); //存入多个音频的ID,播放的时候可以同时播放多个音频  
	    soundPoolMap.put(1, soundPool.load(this, R.raw.dingdong, 1));//API中指出,其中的priority参(第三个)目前没有效果,建议设置为1
	} 
	public void playSound(int sound, int loop) {//用SoundPoll播放声音的方法
	    AudioManager mgr = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);   
	    float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);   
	    float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);       
	    float volume = streamVolumeCurrent/streamVolumeMax;   
	    //play(int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate)
	    //loop —— 循环播放的次数,0为值播放一次,-1为无限循环
	    //rate —— 播放的速率,范围0.5-2.0(0.5为一半速率,1.0为正常速率,2.0为两倍速率)
	    soundPool.play(soundPoolMap.get(sound), volume, volume, 1, loop, 1f);//播放声音
	}    
	public void onClick(View v) {//实现接口中的方法
		// TODO Auto-generated method stub
		if(v == button1){//点击了使用MediaPlayer播放声音按钮
			textView.setText("使用MediaPlayer播放声音");
			if(!mMediaPlayer.isPlaying()){
				mMediaPlayer.start();//播放声音
			}
		}
		else if(v == button2){//点击了暂停MediaPlayer声音按钮
			textView.setText("暂停了MediaPlayer播放的声音");
			if(mMediaPlayer.isPlaying()){
				mMediaPlayer.pause();//暂停声音
			}
		}
		else if(v == button3){//点击了使用SoundPool播放声音按钮
			textView.setText("使用SoundPool播放声音");
			this.playSound(1, 0);
		}
		else if(v == button4){//点击了暂停SoundPool声音按钮,
			textView.setText("暂停了SoundPool播放的声音");
			soundPool.pause(1);//暂停SoundPool的声音
		}		
	}


--------------------------------------------------------------------
ListView

item样式文件
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content">
  
  <TextView
	  android:layout_width="100dip"
	  android:layout_height="wrap_content"
	  android:text="姓名"
	  android:id="@+id/name"
	  />
	  
  <TextView
	  android:layout_width="100dip"
	  android:layout_height="wrap_content"
	  android:text="电话"
	  android:id="@+id/phone"
	  />
	  
  <TextView
	  android:layout_width="fill_parent"
	  android:layout_height="wrap_content"
	  android:text="存款"
	  android:id="@+id/amount"
	  />
</LinearLayout>

main.xml中的ListView
<ListView
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/listView"
    />


listView = (ListView)this.findViewById(R.id.listView);
List<Person> persons = service.getScrollData(0, 5); //得到数据      
        List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
        for(Person person : persons){//装入List
        	HashMap<String, Object> item = new HashMap<String, Object>();
        	item.put("name", person.getName());
        	item.put("phone", person.getPhone());
        	item.put("amount", person.getAmount());
        	data.add(item);
        }
        SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item,
        		new String[]{"name","phone", "amount"}, new int[]{R.id.name, R.id.phone, R.id.amount});//数据,key,样式绑定
        listView.setAdapter(adapter);
listView.setOnItemClickListener(new ItemClickListener());

或者:
 Cursor cursor = service.getCursorScrollData(0, 5);
        SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.item, cursor,
        		new String[]{"name","phone","amount"}, new int[]{R.id.name, R.id.phone, R.id.amount});        
        listView.setAdapter(cursorAdapter);



-------------------------------------------------------------

下拉框



方法一: 纯xml
xml控件,且数据关联写死在xml中
<Spinner 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:prompt="@string/app_name"
        android:entries="@array/city_arr"
        />

xml数据
<string-array name="city_arr">
        <item>长沙</item>
        <item>南京</item>
        <item>杭州</item>
        <item>湘潭</item>
    </string-array>


方法二:
<Spinner 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:prompt="@string/app_name"
          --entries没了,在程序里面绑定
        />


 spinner = (Spinner)findViewById(R.id.myspinner);
        spinner.setPrompt("选择城市");

        this.adapterColor = ArrayAdapter.createFromResource(this, R.array.city_arr, android.R.layout.simple_spinner_item);
//第三个参数是样式
adapterColor.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //重置样式,也就是第三个参数



方法三:数据也不需要去取了

List<CharSequence> list = new ArrayList<CharSequence>();
        list.add("长沙");
        list.add("南京");
        list.add("北京");
        this.adapterColor = new ArrayAdapter(this, android.R.layout.simple_spinner_item,list);
        this.adapterColor.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(this.adapterColor);


事件:
 citySpinner = (Spinner)findViewById(R.id.sp);
        citySpinner.setOnItemSelectedListener(new OnItemSelectedListenerImpl());
	private class OnItemSelectedListenerImpl implements OnItemSelectedListener{
		@Override
		public void onItemSelected(AdapterView<?> parent, View view, int position,
				long id) {//表示选项改变时候触发
			String item = parent.getItemAtPosition(position).toString(); //得到选项的值
			//...
		}
		@Override
		public void onNothingSelected(AdapterView<?> parent) {//表示没有选则时候触发
		}
	}

二级联动菜单
private Spinner citySpinner;
private Spinner areaSpinner;
	String[][] areaData = new String[][]{
			{"aa","bb","cc","cc"},{"aa2","bb2","cc2"},{"aa3","bb3","cc3"}	
	};

citySpinner = (Spinner)findViewById(R.id.sp);
        citySpinner.setOnItemSelectedListener(new OnItemSelectedListenerImpl());


	private class OnItemSelectedListenerImpl implements OnItemSelectedListener{
		@Override
		public void onItemSelected(AdapterView<?> parent, View view, int position,
				long id) {//表示选项改变时候触发
			TestAndroidActivity.this.adpterArea = new ArrayAdapter<CharSequence>(TestAndroidActivity.this, 
					android.R.layout.simple_spinner_item,
					TestAndroidActivity.this.areaData[position]);//把二级数据放入适配器
			TestAndroidActivity.this.areaSpinner.setAdapter(TestAndroidActivity.this.adpterArea);
		}
		@Override
		public void onNothingSelected(AdapterView<?> parent) {//表示没有选则时候触发
		}
	}


----------------------------------------------------------------------
复选框---就是一个按钮而已,和单选框差别很大

  <CheckBox 
        android:id="@+id/url1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="www.aa.com"
        />
   <CheckBox 
        android:id="@+id/url2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="www.bb.com"     ---文字在xml中
        />
   <CheckBox                          --文字没在xml中
        android:id="@+id/url3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />

CheckBox url3 = (CheckBox)findViewById(R.id.url3);
        url3.setChecked(true);
        url3.setText("www.zzz.com");


-----------------------------------------------------------
单选钮

xml
    <RadioGroup
        android:id="@+id/encoding"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"   --控制方向
        android:checkedButton="@+id/gbk_btn">  ---默认选中,这里要有加号

        <RadioButton
            android:id="@+id/gbk_btn"   ---这里也要有加号
            android:text="gbk编码"/>
          <RadioButton
            android:id="@+id/utf8_btn" 
            android:text="utf8编码"/>
    </RadioGroup>


sex = (RadioGroup)findViewById(R.id.sex);
        male = (RadioButton)findViewById(R.id.male);
        female = (RadioButton)findViewById(R.id.female);
        this.sex.setOnCheckedChangeListener(new setOnCheckedChangeListenerImpl());

  private class setOnCheckedChangeListenerImpl implements OnCheckedChangeListener{
		@Override
		public void onCheckedChanged(RadioGroup group, int checkedId) {
			if(TestAndroidActivity.this.male.getId()==checkedId){
			}else if(TestAndroidActivity.this.female.getId()==checkedId){
			}
		}
    }


---------------------------------------------------
图片显示控件, 就是显示一张图片 ,和TextView差不多,一个显示文字,一个显示图片
<ImageView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
            />


---------------------------------------------------
TimePicker 时间管理器 ---时,分

xml
  <TimePicker 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/tp01"
        />

TimePicker tp = (TimePicker)findViewById(R.id.tp01);
        tp.setIs24HourView(true);
        tp.setCurrentHour(15);
        tp.setCurrentMinute(33);
tp.setOnTimeChangedListener(new OnTimeChangedListenerImpl());
  private class OnTimeChangedListenerImpl implements OnTimeChangedListener {

    	@Override
    	public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
    		 //当按加减键的时候触发此方法
                

    	}
    }


--------------------------------------------
日期管理器-----年月日

 <DatePicker 
         android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/dp01"
        />

DatePicker dp = (DatePicker)findViewById(R.id.dp01);
        dp.updateDate(1998, 7, 21);
 dp.init(dp.getYear(), dp.getMonth(), dp.getDayOfMonth(),new  OnDateChangedListenerImpl());
  private class OnDateChangedListenerImpl implements OnDateChangedListener{
                //按加减按钮的时候触发此方法
		@Override
		public void onDateChanged(DatePicker view, int year, int monthOfYear,
				int dayOfMonth) {
		}
    	
    }


-----------------
EditText多行
<EditText android:layout_width="fill_parent"           
    android:layout_height="120.0dip"
    android:inputType="textMultiLine"      
    android:singleLine="false"
    android:gravity="left|top"/>
分享到:
评论

相关推荐

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

    ### Android控件大全及各布局控件的使用详解 #### 一、Android控件概述 Android控件是指在Android应用程序中用于实现用户界面的各种组件。这些控件包括但不限于按钮、文本框、列表视图等。熟悉并掌握这些控件对于...

    Android 控件设置阴影效果

    本文主要记录Android控件设置阴影 给控件设置阴影,会使得界面元素更好看一写,google 给我们提供了一个现成的控CardView,可以将CardView看做是FrameLayout在自身之上添加了圆角和阴影效果 本文是使用给控件设置...

    android控件放大被遮盖已解决

    "android控件放大被遮盖已解决"这个主题就是针对这一问题的解决方案。 首先,我们需要理解Android的布局层次和控件的Z轴顺序。在Android的视图系统中,每个控件都有一个层级,决定了它们在屏幕上的覆盖关系。默认...

    疯狂Android控件集合

    "疯狂Android控件集合"这个资源包显然包含了多种Android开发中的控件示例或者源码,供开发者学习和参考。这里我们将深入探讨Android中的一些核心控件以及相关的开发知识。 1. **按钮(Button)**:Button是最常见的...

    android控件及事件的使用(1)

    这篇博客"android控件及事件的使用(1)"可能详细介绍了如何在Android应用程序中操作和响应各种控件的用户交互。我们将深入探讨Android控件的基本概念、常见控件类型、事件处理机制以及如何在实际开发中应用这些知识...

    Android 控件拖动

    首先,我们需要理解Android控件的基础知识。Android中的控件(View)是用户界面的基本元素,如Button、TextView、ImageView等,它们可以被添加到布局(Layout)中,以展示各种信息或接收用户输入。在Android中,我们...

    Android 控件指定位置控件PointScrollView.zip

    Android 控件指定位置控件PointScrollView 仿ios的scroll控件自由拉伸,保持对应点上的控件的位置不变 git地址 Android 控件指定位置控件PointScrollView 截图

    Android控件大全

    根据提供的信息,我们可以深入探讨关于Android控件及项目构建的基础知识点。尽管提供的部分内容与搭建Android开发环境相关,但为了贴合“Android控件大全”的标题和描述,本篇内容将侧重于Android控件及其在不同布局...

    Android控件集锦

    本篇文章将详细讲解"Android控件集锦"中的一些核心控件及其用法。 首先,我们从基础的布局控件开始。在Android中,有LinearLayout、RelativeLayout、ConstraintLayout等多种布局方式。LinearLayout允许你按照垂直或...

    可伸缩的android控件

    本文将深入探讨如何基于API 17创建一个可伸缩的Android控件,并讨论如何添加自定义方法以满足特定需求。 首先,我们要明白Android控件的伸缩主要涉及到两方面:尺寸的变化和动画的执行。在Android中,我们可以使用...

    android控件解析

    ### Android控件解析 在Android开发中,控件(Widgets)是构成用户界面的基本元素,它们可以是按钮、文本框、列表、图像等。本文旨在深入解析Android控件的属性及使用方法,帮助开发者更好地理解和运用这些控件,...

    android控件demo

    本项目"android控件demo"旨在提供一个实践性的学习平台,涵盖了多种常用的Android控件,包括Button、Checkbox、ListView以及PopupWindow。让我们逐一探讨这些控件的功能、用法以及在实际开发中的应用。 首先,...

    android控件中英对照

    标题与描述:“Android控件中英对照” 在深入解析标题与描述所指的“Android控件中英对照”之前,我们首先需要理解Android系统及其应用开发环境的基本概念。Android是Google开发的一款基于Linux内核的操作系统,...

    Android-展示github贡献情况的Android控件

    "Android-展示github贡献情况的Android控件"就是一个专为显示GitHub用户贡献情况而设计的自定义组件。这个控件可以帮助开发者在自己的应用中直观地展示GitHub用户的代码贡献度,让用户能够一目了然地看到自己或他人...

    Android控件API

    Android控件使用帮助文档

    android控件的布局介绍及使用(全)

    在Android应用开发中,控件(Widget)是构成用户界面的基本元素,它们负责显示应用的数据并允许用户进行交互。控件布局是决定控件在屏幕上的位置和方式的结构,它影响着应用的用户界面布局和整体设计。本文将详细...

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

    【Android控件大全以及各布局空间的使用方式】 在Android开发中,控件和布局是构建用户界面的基础。本文将详细介绍Android系统中的各种控件及其使用方法,以及如何有效地利用不同布局来构建复杂的用户界面。 一、...

    Android控件属性大全

    android属性整理,比较全的

    Android-AudioVisualizer一个轻量级易于使用的音频可视化Android控件

    在Android应用开发中,视觉效果往往能够提升用户体验,特别是在音乐播放类应用中,音频可视化控件扮演着重要的角色。"Android-AudioVisualizer"就是这样一个轻量级且易用的库,专为Android平台设计,用于展示音频...

Global site tag (gtag.js) - Google Analytics