Android学习笔记之常用控件

1.编辑框EditText

public class MainActivity extends Activity {
    EditText et;    //声明EditText控件
    private Boolean isEmpty = true;//表明文本框是否为空

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et = (EditText)findViewById(R.id.et);//找到ID为tv的EditText
        //监听控件的焦点改变事件
        et.setOnFocusChangeListener(new OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                //获取触发事件的EditText
                EditText clickEditText = (EditText)v;
                if(hasFocus == false){//EditText失去焦点
                    String text = clickEditText.getText().toString().trim();
                    if(null  != text && text.length() > 0 && !"请输入您的名字".equals(text)){
                        isEmpty = false;//表明此时文本框不为空
                        clickEditText.setTextColor(Color.BLACK);
                        clickEditText.setText(text);
                    }else{
                        clickEditText.setText("请输入您的名字");
                        clickEditText.setTextColor(Color.GRAY);
                        isEmpty = true;
                    }
                }else{//如果获得焦点
                    clickEditText.setTextColor(Color.BLACK);
                    if(isEmpty){//如果控件处于未编辑状态,则清空“请输入您的名字”这几个字
                        clickEditText.setText("");
                    }
                }
            }
        });
        //编辑框监控有新字符输入
        et.setOnKeyListener(new OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                EditText clickEditText = (EditText)v;//获取触发事件的EditText
                String text = clickEditText.getText().toString().trim();//获取当前文本
                if(null != text && text.length() == 10){
                    Toast.makeText(MainActivity.this, "最大长度为10个字符", Toast.LENGTH_SHORT).show();// 提示用户
                }
                return false;
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

2.自动完成文本框AutoCompleteTextView 和 MultiAutoCompleteTextView

public class AtyUsingAutoCompleteTextView extends Activity
{
    private AutoCompleteTextView actv;
    private ArrayAdapter<String> actvAdapter,mactvAdapter;
    private MultiAutoCompleteTextView mactv;
    private String [] strs = new String[]{"hello","world"};
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_usingautocomplete);

        actvAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, strs);

        actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
        actv.setAdapter(actvAdapter);

        mactv = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
        mactvAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, strs);
        mactv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
        mactv.setAdapter(mactvAdapter);
    }
}

3.复选按钮CheckBox

public class AtyUsingCheckBox extends Activity
{
    private CheckBox cbYes,cbNo;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_using_checkbox);

        cbYes = (CheckBox) findViewById(R.id.checkBox1);
        cbNo = (CheckBox) findViewById(R.id.checkBox2);

        findViewById(R.id.btnSumit).setOnClickListener(new View.OnClickListener()
        {           
            @Override
            public void onClick(View v)
            {
                String str = "questionanwer:\n";
                if (cbYes.isChecked())
                {
                    str+="Yes\n";
                }
                if (cbNo.isChecked())
                {
                    str+="No\n";
                }

                new AlertDialog.Builder(AtyUsingCheckBox.this).setTitle("结果").setMessage(str).setPositiveButton("关闭", null).show();
            }
        });
    }
}

4.DataPicker

public class AtyUsingDataPicker extends Activity
{
    private Button btnSelectTime;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.using_datapicker);

        btnSelectTime = (Button) findViewById(R.id.btnSelectTime);
        btnSelectTime.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                new DatePickerDialog(AtyUsingDataPicker.this, new OnDateSetListener()
                {

                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear,
                            int dayOfMonth)
                    {
                        btnSelectTime.setText(String.format("%d:%d:%d", year,monthOfYear,dayOfMonth));
                    }
                }, 2015, 7, 30).show();
            }
        });
    }
}

5.TimePicker

public class AtyUsingTimePicker extends Activity
{
    private Button btnSelectTimer; 

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_using_timepicker);

        btnSelectTimer = (Button) findViewById(R.id.btnSelectTimer);
        btnSelectTimer.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                new TimePickerDialog(AtyUsingTimePicker.this, new OnTimeSetListener()
                {

                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute)
                    {
                        btnSelectTimer.setText(String.format("%s:%s", timeFormat(hourOfDay),timeFormat(minute)));
                    }
                }, 10, 0, true).show();
            }
        });
    }

    public String timeFormat(int value)
    {
        return value>=10?""+value:"0"+value;
    }
}

6.Gallery

public class AtyUsingGallery extends Activity
{
    private Gallery gallery;
    private ArrayAdapter<String> adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_usinggallery);

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);

        for (int i = 0; i < 20; i++)
        {
            adapter.add("No"+i);
        }
        gallery = (Gallery) findViewById(R.id.gallery1);
        gallery.setAdapter(adapter);
    }
}

7.GridView

public class AtyUsingGridView extends Activity
{
    private GridView gridview;
    private ArrayAdapter<String> adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_usinggridview);

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
        gridview = (GridView) findViewById(R.id.gridView);
        gridview.setAdapter(adapter);

        for (int i = 0; i < 60; i++)
        {
            adapter.add("No."+i);
        }
    }
}

8.ImageSwitcher

ImageSwitcher和ImageView的优势就是动画的效果。

public class AtyUsingImageSwitcher extends Activity
{
    private ImageSwitcher imageSwitcher;
    private boolean showImg1 = true;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_usingimageswitcher);

        imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher1);
        imageSwitcher.setFactory(new ViewFactory()
        {

            @Override
            public View makeView()
            {
                return new ImageView(AtyUsingImageSwitcher.this);
            }
        });
        imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(AtyUsingImageSwitcher.this, android.R.anim.fade_in));
        imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(AtyUsingImageSwitcher.this, android.R.anim.fade_out));
        imageSwitcher.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                showImg1 = !showImg1;
                showCurrentImage();
            }
        });

        showCurrentImage();
    }

    private void showCurrentImage()
    {
        if (showImg1)
        {
            imageSwitcher.setImageResource(R.drawable.ic1);
        }
        else {
            imageSwitcher.setImageResource(R.drawable.ic2);
        }

    }
}

9.ProgressBar

public class AtyUsingProgressBar extends Activity
{
    private ProgressBar pb;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_usingprogressbar);

        pb = (ProgressBar) findViewById(R.id.progressBar);
        pb.setMax(100); //设置进度条最大值

        pb.setProgress(50); //设置进度条的进度值
    }

    @Override
    protected void onResume()
    {
        super.onResume();
        startTimer();
    }

    @Override
    protected void onPause()
    {
        super.onPause();
        stopTimer();
    }
    private Timer timer = null;
    private TimerTask task = null;

    private int progress = 0;
    public void startTimer()
    {
        if (timer == null)
        {
            timer = new Timer();
            task = new TimerTask()
            {

                @Override
                public void run()
                {
                    progress++;
                    pb.setProgress(progress);
                }
            };
            timer.schedule(task, 1000, 1000);
        }
    }

    public void stopTimer()
    {
        if (timer != null)
        {
            task.cancel();
            timer.cancel();

            task = null;
            timer = null;
        }   
    }
}

10.ProgressDialog

public class AtyUsingProgressDialog extends Activity
{
    private ProgressDialog progressDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_using_progressdialog);

        findViewById(R.id.btnShowProgressDialog).setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                progressDialog = ProgressDialog.show(AtyUsingProgressDialog.this, "加载中", "正在加载");

                new Thread()
                {
                    public void run() 
                    {
                        try
                        {
                            Thread.sleep(3000);
                            progressDialog.dismiss();

                        } catch (InterruptedException e)
                        {
                            e.printStackTrace();
                        }
                    };
                }.start();
            }
        });
    }
}

11.RadioGroup

public class AtyUsingRadioGroup extends Activity
{
    private RadioButton radioRight;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_using_radiogroup);

        radioRight = (RadioButton) findViewById(R.id.radioRight);

        findViewById(R.id.btnSubmit).setOnClickListener(new OnClickListener()
        {       
            @Override
            public void onClick(View v)
            {
                if (radioRight.isChecked())
                {
                    new AlertDialog.Builder(AtyUsingRadioGroup.this).setTitle("判断").setMessage("回答正确").setPositiveButton("关闭", null).show();
                }
                else {
                    new AlertDialog.Builder(AtyUsingRadioGroup.this).setTitle("判断").setMessage("回答错误").setPositiveButton("关闭", null).show();
                }
            }
        });
    }
}

12.RatingBar

public class AtyUsingRatingBar extends Activity
{
    private RatingBar ratingBar;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ratingbar);

        ratingBar = (RatingBar) findViewById(R.id.ratingBar1);
        ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener()
        {

            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating,
                    boolean fromUser)
            {
                Toast.makeText(AtyUsingRatingBar.this, "评价为"+rating, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

13.拖动条SeekBar

public class AtyUsingSeekBar extends Activity
{
    private SeekBar seekBar;
    private TextView tvout;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_usingseekbar);

        tvout = (TextView) findViewById(R.id.tvout);

        seekBar = (SeekBar) findViewById(R.id.seekBar);
        seekBar.setMax(100);
        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
        {

            @Override
            public void onStopTrackingTouch(SeekBar seekBar)
            {
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar)
            {
            }

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser)
            {
                tvout.setText(String.format("当前进度为:%d", progress)+"%");
            }
        });
    }
}

14.下拉列表Spinner

public class AtyUsingSpinner extends Activity
{
    private Spinner spinner;
    private ArrayAdapter<String> adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_usingspinner);

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
        adapter.add("hello");
        adapter.add("world");

        spinner = (Spinner) findViewById(R.id.spinner);
        spinner.setAdapter(adapter);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值