小小android程序之控件demo

一般的控件添加都是如下几步:

1. 新建一个android项目

2. androidmanifest.xml文件里注册一个activity(默认已经注册了一个activity

3. 在相应的activity的布局文件中添加控件,并在R.java文件中注册相应的ID,以便引用

4. activity的相应java文件中调用findViewById()方法通过ID应用相应的控件

5. 为相应的控件设置相应的的事件监听器,比如调用buttonsetOnclickListener()方法,用来相应button的单击事件或者其他的监听器;

以下是一个控件演示demo

要将此图片放到资源文件夹中的比如drawable-hdpi文件夹中,还要改名字为photo.jpg

首页activity有几个按钮,点击第一个按钮跳转到第二个activity,首页有菜单选项,也分别设置了监听器

第二个按钮是普通按钮,没有设置监听器,

第三个按钮是一个跳转按钮,跳转到发送消息的activity

第四个控件是一个imagebutton,用onclicklistener()函数设置了监听器,当点击的时候会通过intent-filter对系统中的activity进行筛选,通过唯一的动作标示符MediaStore.ACTION_IMAGE_CAPTURE匹配到android系统的照相机,从而调用系统的照相机程序;

第五个控件是两个checkbox,作为演示只为第一个checkbox设置了监听器,用

checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener() {});

为它设置了监听器,当他的勾选状态改变的时候会在下方的一个textview里提示

第五个控件是一个radiobutton组,同样的作为演示,与checkbox一样只有第一个radiobutton有监听器。

  第二个activity中首先有一个Spinner,没有设置监听器;

接下来再有一个listview,为listview的子项设置了监听器,当点击的时候会在下方的textview中将点击子项的ID,位置等等信息打印出来

  第三个activity中有一个edittext以及一个按钮,在edittext中输入所要发的内容,点击按钮则会看到下方的广播消息,

在AndroidManifest.xml中注册了以上三个activity以及一个receiverreceiver用来接收我们的广播消息,intent过滤器保证了正确筛选;

以下是代码:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/textview1" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button2" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button3" />

    <ImageButton
        android:id="@+id/imagebutton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <CheckBox
        android:id="@+id/checkbox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/checkbox1" />

    <CheckBox
        android:id="@+id/checkbox2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/checkbox2" />

    <RadioGroup
        android:id="@+id/radiogroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/radiobutton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/radiobutton1" >
</RadioButton>

        <RadioButton
            android:id="@+id/radiobutton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/radiobutton2" >
        </RadioButton>

        <RadioButton
            android:id="@+id/radiobutton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/radiobutton3" >
        </RadioButton>
    </RadioGroup>

    <TextView
        android:id="@+id/itemtext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/textview1" />

</LinearLayout>

activity_other.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">



<TextView
    android:id="@+id/textview2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/textview2"
    />
<Spinner
    android:id="@+id/spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
<ListView
    android:id="@+id/listview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
 <TextView
    android:id="@+id/textarea"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    />
    

</LinearLayout>
broadcast_activity.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/edittext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/send_broadcast"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/send_broadcast" />

</LinearLayout>

MainActivity.java

package com.example.demo;

import android.os.Bundle;
import android.provider.MediaStore;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.TextView;
import android.util.Log;


public class MainActivity extends Activity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button mybutton=(Button)findViewById(R.id.button);
		ImageButton imagebutton=(ImageButton)findViewById(R.id.imagebutton1);
		CheckBox checkbox1=(CheckBox)findViewById(R.id.checkbox1);
		CheckBox checkbox2=(CheckBox)findViewById(R.id.checkbox2);
		RadioButton radiobutton1=(RadioButton)findViewById(R.id.radiobutton1);
		RadioButton radiobutto2=(RadioButton)findViewById(R.id.radiobutton2);
		Button to_broad_button=(Button)findViewById(R.id.button3);
		imagebutton.setImageResource(R.drawable.photo);
		imagebutton.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View arg0) {
				Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
				startActivity(intent);
				
			}
			
		});
	    OnClickListener myonclick = null;
	    myοnclick=new Button.OnClickListener(){
		    

			@Override
			public void onClick(View arg0) {
				Intent intent=new Intent(MainActivity.this,other.class);
				startActivity(intent);
			}
	    };
		mybutton.setOnClickListener(myonclick);
		checkbox1.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO 自动生成的方法存根
				
			}
		});
		checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener()  {

			@Override
			public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
				TextView itemtext = (TextView) findViewById(R.id.itemtext);
				if(arg1){
					
					itemtext.setText("我被选中了!id:"+arg0.getId());
				}
				else {
					itemtext.setText("我被取消钩钩了!id:"+arg0.getId());
				}
				
			}
			
		
		});
		
		radiobutton1.setOnCheckedChangeListener(new OnCheckedChangeListener(){

			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				TextView itemtext = (TextView) findViewById(R.id.itemtext);
				if(isChecked){
					
					itemtext.setText("我被选中了!id:"+buttonView.getId());
				}
				else {
					itemtext.setText("我被取消点点了!id:"+buttonView.getId());
				}
				
			}});
		
		
		to_broad_button.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				Intent intent1=new Intent(MainActivity.this,broadcastactivity.class);
				Log.v("haha", "haha");
				startActivity(intent1);
				
			}
			
		});
	
		
	}
	    
     
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	public boolean onOptionsItemSelected(MenuItem item) {
		TextView itemtext = (TextView) findViewById(R.id.itemtext);
		switch (item.getItemId()) {
		case R.id.action_settings:
			itemtext.setText("你想要设置!");
			return true;
		case R.id.action_mail:
			itemtext.setText("你想要发送邮件!");
			return true;
		case R.id.action_print:
			itemtext.setText("你想要打印!");
			return true;
		case R.id.action_getread:
			itemtext.setText("你想要订阅!");
			return true;
		case R.id.action_settings1:
			itemtext.setText("我是一个子菜单!");
		default:
			return false;
		}
	}
	

}

otherjava

package com.example.demo;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;

public class other extends Activity{
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_other);
		Spinner spinner=(Spinner)findViewById(R.id.spinner);
		final TextView textarea=(TextView)findViewById(R.id.textarea);
		List<String>list=new ArrayList<String>();
		list.add("Spinner子项1");
		list.add("Spinner子项2");
		list.add("Spinner子项3");
		list.add("Spinner子项4");
		ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spinner.setAdapter(adapter);
		
		ListView listview=(ListView)findViewById(R.id.listview);
		list.clear();
		list.add("listview子项1");
		list.add("listview子项2");
		list.add("listview子项3");
		list.add("listview子项4");

		ArrayAdapter<String>listviewadapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
		listview.setAdapter(listviewadapter);
		
		AdapterView.OnItemClickListener listviewListener=new AdapterView.OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1,
					int arg2, long arg3) {
				
				String msg="父view:"+arg0.toString()+"\n"+"子view:"+arg1.toString()+"\n"+"位置:"+String.valueOf(arg2)+"\n"+"ID:"+String.valueOf(arg3);
				textarea.setText(msg);
				
			}
			
		};
		listview.setOnItemClickListener(listviewListener);     //绑定监听器
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);   //获取menu对象
		return true;
	}

}
    
broadcastactivity.java

package com.example.demo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class broadcastactivity extends Activity{
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.broadcast_activity);
		Button sendbroadcast=(Button)findViewById(R.id.send_broadcast);
		final EditText content_to_send=(EditText)findViewById(R.id.edittext);
		sendbroadcast.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				String unique_string="xiaolin";
				Intent intent=new Intent(unique_string);
				intent.putExtra("message", content_to_send.getText().toString());
				sendBroadcast(intent);        //调用函数发送广播消息
				
			}
			
		});
	}
}

broadcast.java

package com.example.demo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class broadcast extends BroadcastReceiver{

	@Override
	public void onReceive(Context context, Intent intent) {
		String msg=intent.getStringExtra("message");     //获得传过来的intent的数据
		Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();   //发送消息
		
	}
	
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值