Android 中常见控件的使用

xiaoxiao2021-02-28  130

1. TextView 文本框

主要方法 TextView ,getDefaultMovementmethod ,getText ,length, getEditableText ,

TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显 示文本的区域。    

FrameLayout是一个布局,名叫桢布局。

FrameLayout 是布局中最简单的一个布局,在这个布局中,整个界面被当成一 块空白备用区域, 所有的子元素都不能被指定放置的位置,它们统统放于这块区 域的左上角, 并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素 部分和全部遮挡。

<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/linear1" > <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="numberSigned" android:background="@drawable/et_selector" android:paddingLeft="150dp" android:hint="请输入用户名" android:textSize="30dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/icon_user" android:text="用户名:" android:textSize="30dp" /> </FrameLayout>

2 .EditText 编辑框 EditText 和 TextView 的功能基本类似,他们之间的主要区别在于 EditText 提 供了可编辑的文本框。

请输入用户名是用户填写的数据,上面的代码就是EditText的用法:

3. Button 按钮

Button是点击事件和按钮是一个意思,当你点击他时你能根据他调用一个方法比如说:

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入用户名" android:id="@+id/btn_main_uers" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="密码" android:id="@+id/btn_main_pass" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="确认" android:id="@+id/btn_main_ok" android:onClick="login" /> 根据所写的id 给按钮设置点击的监听:

Button test_main= (Button) findViewById(R.id.btn_main_ok); //方法 test_main.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast t=Toast.makeText(MainActivity.this,"你好呀",Toast.LENGTH_LONG); t.setGravity(Gravity.TOP,0,0); t.show();

      4 CheckBox 多项选择

        多项选择 CheckBox 组件也被称为复选框, 该组件常用于某选项的打开或者关闭。

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="爱好:" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="吃饭" android:id="@+id/btn_main_chi" /> <CheckBox android:id="@+id/btn_main_sellp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="睡觉" /> <CheckBox android:id="@+id/btn_main_cat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="打豆豆" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确认" android:id="@+id/btn_main_aiok" />

5 .RadioGroup、RadioButton 单项选择 RadioButton 指的是一个单选按钮,它有选中和不选中两种状态,而 RadioGroup 组件也被称为单项按钮组,它可以有多个 RadioButton。

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="性别:" /> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/rg_main_sex" > <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" android:id="@+id/rb_main_boy" android:checked="true" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" android:id="@+id/rb_main_girl" /> </RadioGroup>

6. Toast 提示 Toast 是 Android 提供的“快显讯息”类,它的用途很多,使用起来非常的 简单,主要用于显示信息。

Toast.makeText(MainActivity.this,"你好呀",Toast.LENGTH_LONG).show();//可以直接吐司在界面上。

  7. DatePicker 日期

DatePicker 日期选择器是一个选择年月日的日历布局视图

public void data(View view){ Calendar calendar=Calendar.getInstance(); int year= calendar.get(Calendar.YEAR);//获取年 int month=calendar.get(Calendar.MONTH);//获取月 int day= calendar.get(Calendar.DAY_OF_MONTH);//获取这个月的当前日 DatePickerDialog dpd=new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener(){ @Override public void onDateSet(DatePicker view, int year, int month, int day) { Log.i("date",year+"年"+month+"月"+day+"日"); } },year,month,day); dpd.show(); } 8.  TimePicker 时间选择器

TimePicker 时间选择器是用于选择一天中时间的视图 1.public Integer getCurrentMinute () 获取当前时间的分钟部分。 返回值 当前分钟。 

2.public boolean is24HourView () 获取当前系统设置是否是 24 小时制。 

3.public void setCurrentHour (Integer currentHour) 设置当前小时。

4.public void setCurrentMinute (Integer currentMinute) 设置当前分钟(0-59)。

5.public void setEnabled (boolean enabled) 设置可用的视图状态。

public void getTime(View view){ //获取当前系统时间 Calendar c=Calendar.getInstance(); int hour=c.get(Calendar.HOUR_OF_DAY); int minute=c.get(Calendar.MINUTE); //弹出时间对话框 TimePickerDialog tpd=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker timePicker, int i, int i1) { Log.i("test","时间:"+i+":"+i1); } },hour,minute,true); //细节:弹 tpd.show(); }  9.ImageView 图片视图 ImageView 显示任意图像, 例如图标。 ImageView 类可以加载各种来源的图片 (如 资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供 例如缩放和着色(渲染)各种显示选项。

10.ProgressBar基本方法:

getMax():返回这个进度条的范围的上限

    getProgress():返回进度

    getSecondaryProgress():返回次要进度

    incrementProgressBy(int diff):指定增加的进度

    isIndeterminate():指示进度条是否在不确定模式下

    setIndeterminate(boolean indeterminate):设置不确定模式下

    setVisibility(int v):设置该进度条是否可视

<ProgressBar style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/pb_progressbar_bar" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv_progressbar_num" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下载" android:onClick="download" />

11.Handler

handler的消息队列机制,即通过handler中一个线程向消息队列中用sendMessage方法发送消息,发送的消息当然可以用来传递参数。在handler中用handleMessage来处理消息,处理方法是获得消息队列中的消息参数,用这些参数来完成另外一些功能。 实现代码:

public void download(View view){ new MyThread().start();//启动线程 } Handler handler=new Handler(){ //接受消息,更新UI界面 @Override public void handleMessage(Message msg) { super.handleMessage(msg); //接收子线程发送的消息 int i=msg.what; tv_progressbar_num.setText(i+""); } }; class MyThread extends Thread{ @Override public void run() { super.run(); for (int i = 0; i <=100 ; i++) { pb_progressbar_bar.setProgress(i); // tv_progressbar_num.setText(i+""); //在子线程中发消息 handler.sendEmptyMessage(i); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }

转载请注明原文地址: https://www.6miu.com/read-22989.html

最新回复(0)