频道栏目
首页 > 资讯 > Android > 正文

Android开发入门之基本界面组件

16-09-02        来源:[db:作者]  
收藏   我要投稿

一、TextView和EditText


           
           
           
           
           
            

运行效果:

二、Button和ImageButton

布局文件:

 


    
MainActivity.java文件:

 

package com.example.button;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
	private Button btn = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//通过findViewById取得按钮实例
		btn = (Button)findViewById(R.id.button1);
		//通过匿名内部类给按钮设置监听器
		btn.setOnClickListener(new OnClickListener() {	
			@Override
			public void onClick(View v) {
				  Toast.makeText(MainActivity.this, "你点击了普通按钮", Toast.LENGTH_LONG).show();
			}
		});
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
}
运行效果:

 

三、 RadioButton、RadioGroup和CheckBox

xml布局文件:

 


    
    
            
            
   
                
                
MainActivity.java文件:

 

package com.example.choosetest;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Toast;

public class MainActivity extends Activity {
	private CheckBox checkBoxMale;
	private CheckBox checkBoxFemale;
	private RadioGroup radioGroup;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		checkBoxMale = (CheckBox)findViewById(R.id.cbmale);
		checkBoxFemale = (CheckBox)findViewById(R.id.cbfemale);
		radioGroup = (RadioGroup)findViewById(R.id.rg);
		//设置匿名内部类监听器
		checkBoxMale.setOnCheckedChangeListener(new MyCheckListener());
		checkBoxFemale.setOnCheckedChangeListener(new MyCheckListener());
		//设置匿名内部类监听器(android.widget.RadioGroup.setOnCheckedChangeListener)
		radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				//((RadioButton)findViewById(group.getCheckedRadioButtonId())).getText()这句代码虽然可读性差,但却道出了真谛
				Toast.makeText(MainActivity.this,"你选中了"+((RadioButton)findViewById(group.getCheckedRadioButtonId())).getText(),Toast.LENGTH_SHORT).show();
			}
		});
	}
	  //实现android.widget.CompoundButton.OnCheckedChangeListener接口,请注意此接口与RadioButton那个接口名字相同,但所在的包不同
class MyCheckListener implements android.widget.CompoundButton.OnCheckedChangeListener{

	@Override
	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		if(isChecked){
			//注意一定要调用show()方法,否则你会很郁闷
	        Toast.makeText(MainActivity.this, "你选择了"+buttonView.getText(), Toast.LENGTH_SHORT).show() ;	
		}
		else{
			Toast.makeText(MainActivity.this, "你取消选择了"+buttonView.getText(), Toast.LENGTH_SHORT).show();
		}
	}
}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
}

运行效果:

四、ToggleButton

xml文件:

 


    
    
    
        
    
    
             
    
MainActivity.java

 

package com.example.togglebutton;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RelativeLayout;
import android.widget.ToggleButton;

public class MainActivity extends Activity {
     private ToggleButton tButton;
     private RelativeLayout login;
     private RelativeLayout register;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//实例化
		tButton = (ToggleButton)findViewById(R.id.tButton);
		login = (RelativeLayout)findViewById(R.id.login);
		register = (RelativeLayout )findViewById(R.id.register);
		tButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                      if(isChecked){
                    	       //设置登录布局隐藏,注册布局显示,
                    	       //需注意INVISIBLE和GONE的区别,隐藏之后是否留下背景
                               login.setVisibility(View.VISIBLE);
                               register.setVisibility(View.INVISIBLE); 
                      }
                      else{
                    	       login.setVisibility(View.INVISIBLE);
                               register.setVisibility(View.VISIBLE);  
                      }
			}
		});
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
}

运行效果:

五、AnalogClock 和 DigitalClock

 


    
    
    
效果图:

六、ImageView

xml文件:

 


    
MainActivity.java文件:

 

package com.example.imageviewtest;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {
     
	private ImageView imageView;
	private Button lowButton;
	private Button highButton;
	private Button nextImageButton;
	//图片资源数组
	private int[] images = new int[]{
			R.drawable.image1,
			R.drawable.image2,
			R.drawable.image3,
			R.drawable.image4,
	};
	//初始显示图片
	private int currentImage = 2;
	//初始图片透明度
	private int alpha = 255;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		imageView = (ImageView)findViewById(R.id.image);
		lowButton = (Button)findViewById(R.id.low);
		highButton = (Button)findViewById(R.id.high);
		nextImageButton = (Button)findViewById(R.id.nextImage);
		imageView.setImageResource(images[currentImage]);
		//为显示下一张图片按钮设置内部匿名监听器
		nextImageButton.setOnClickListener(new OnClickListener() {	
			@Override
			public void onClick(View v) {
                     if(++currentImage > 3){
                    	 currentImage = 0;
                     }
                     imageView.setImageResource(images[currentImage]);
			}
		});
		highButton.setOnClickListener(new MyListener());
		lowButton.setOnClickListener(new MyListener());
	}
//降低或增加图片透明度按钮的监听器
class MyListener implements OnClickListener{
	@Override
	public void onClick(View v) {
		      if(v == lowButton){
		            alpha-=50;
		      }
		     if(v == highButton){
		    	    alpha+=50;
		     }
		     if(alpha<=0){
		     alpha = 0;
		     }
		     if(alpha>=255){
			     alpha = 255;
			     }
		     imageView.setImageAlpha(alpha);
		     System.out.println(alpha);
	}
}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
}

效果图:

相关TAG标签
上一篇:Android Drawable - Shape Drawable使用详解(附图)
下一篇:win10系统注册表崩溃停止工作怎么办?
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站