热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Android02控件

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Android02-控件相关的知识,希望对你有一定的参考价值。   

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Android02-控件相关的知识,希望对你有一定的参考价值。



         在android studio中,新建一个module时布局文件中就会默认带一个TextView,里面显示着一句话:Hello World !  布局中通常放置的是android控件,下面介绍几个android比较常用的控件。

        一.文本控件:文本控件主要包括TextView和EditView,TextView类继承自View类,TextView控件的功能是向用户显示文本的内容。主要的属性:

            而另一个文本控件EditView是编辑文本框,EditView是TextView的子类,它与TextView最大的不同就是:用户可以对EditView控件进行编辑,它也可以通过android:hint="";这个属性来显示默认的文本信息。EditText还可以通过设置android:inputType="";来设置用户可输入的文本类型。

 

 

   二.按钮:按钮中最常用的我们都知道,就是Button;但是还有一个按钮,叫做ImageButton,从名字上面来看,我们将它理解为图片按钮。BUtton和ImageButton最大的差别就是

ImageButton上不能出现文字。

 

    三.选择框:选择框分两种,一种是单选框RadioButton,一种是多选框CheckBox。RadioButton使用的时候要注意一点,那就是分组;也就是RadioGroup。

单选框就是只能选择一个,但是当你的单选框按钮没有放在一个Radioroup里面时,那么单选框的设置是无效的。CheckBox和RadioButton都可以通过设置

android:checked="true"默认选中。下面是一个包含多选框和单选框的Demo:

布局文件:


xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width
="match_parent"
android:layout_height
="match_parent"
android:orientation
="vertical">
<RadioGroup
android:id="@+id/rg_radio_sex"
android:layout_width
="match_parent"
android:layout_height
="wrap_content">
<RadioButton
android:id="@+id/rb_radio_man"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:text
="男" />
<RadioButton
android:id="@+id/rb_radio_woman"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:text
="女"
android:checked
="true"/>
RadioGroup>
<CheckBox
android:id="@+id/ck_radio_ck1"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:text
="吃饭" />
<CheckBox
android:id="@+id/ck_radio_ck2"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:text
="睡觉"
android:checked
="true"/>
<CheckBox
android:id="@+id/ck_radio_ck3"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:text
="打豆豆" />
<Button
android:id="@+id/btn_radio_toast"
android:layout_width
="match_parent"
android:layout_height
="wrap_content"
android:text
="显示你选择的性别信息 toast出来" />
<Button
android:id="@+id/btn_radio_check"
android:layout_width
="match_parent"
android:layout_height
="wrap_content"
android:text
="显示多选选中的信息 toast出来" />
LinearLayout>

源代码:


package com.example.administrator.myapplication;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private String str;
private CheckBox ck;
private RadioGroup rg_radio_sex;
private CheckBox ck2;
private CheckBox ck3;
private Button btn_radio_check;
private Button btn_radio_toast;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1.当值被选中时弹出(用事件)
//获取控件
/* RadioGroup rg_radio_sex= (RadioGroup) findViewById(R.id.rg_radio_sex);
rg_radio_sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
RadioButton rb= (RadioButton) findViewById(i);
str=rb.getText().toString();
}
});
Button btn_radio_toast= (Button) findViewById(R.id.btn_radio_toast);
btn_radio_toast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(RadioActivity.this,"选择的性别是:"+str,Toast.LENGTH_SHORT).show();
}
});
*/
ck
= (CheckBox) findViewById(R.id.ck_radio_ck1);
ck2
= (CheckBox) findViewById(R.id.ck_radio_ck2);
ck3
= (CheckBox) findViewById(R.id.ck_radio_ck3);
rg_radio_sex
= (RadioGroup) findViewById(R.id.rg_radio_sex);
btn_radio_toast
= (Button) findViewById(R.id.btn_radio_toast);
btn_radio_toast.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
//获取你选中的控件的id
int id = rg_radio_sex.getCheckedRadioButtonId();
RadioButton radioButton
= (RadioButton) findViewById(id);
String str
= radioButton.getText().toString();
Toast.makeText(MainActivity.
this, "选择的性别是:" + str , Toast.LENGTH_SHORT).show();
}
});
btn_radio_check
= (Button) findViewById(R.id.btn_radio_check);
btn_radio_check.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
String ckstr
= "";
if (ck.isChecked()) {
ckstr
+= ck.getText().toString();
}
if(ck2.isChecked()){
ckstr
+= ck2.getText().toString();
}
if(ck3.isChecked()){
ckstr
+= ck3.getText().toString();
}
Toast.makeText(MainActivity.
this, "选择的内容是:" + ckstr, Toast.LENGTH_SHORT).show();
}
});
}
}

效果图如下(运行效果不怎么好展示):

 

 

  四.时间控件:时间控件就是一个时间选择器和一个日期选择器;基本属性如下图:

      Demo如下:


package com.example.administrator.myapplication;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
public class Main2Activity extends AppCompatActivity {
private Button btn_radio_time;
private Button btn_radio_day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//获取系统的时间 年 月 日 小时 分钟
Calendar calendar = Calendar.getInstance();
final int year = calendar.get(Calendar.YEAR);
final int mOnth= calendar.get(Calendar.MONTH);
final int day = calendar.get(Calendar.DAY_OF_MONTH);
final int hour = calendar.get(Calendar.HOUR_OF_DAY);
final int minute = calendar.get(Calendar.MINUTE);
//获取控件
btn_radio_time = (Button) findViewById(R.id.btn_radio_time);
btn_radio_time.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
TimePickerDialog timePickerDialog
= new TimePickerDialog(Main2Activity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
Toast.makeText(Main2Activity.
this, "选择的时间" + i + ":" + i1, Toast.LENGTH_SHORT).show();
}
}, hour, minute,
true);
timePickerDialog.show();
}
});
btn_radio_day
= (Button) findViewById(R.id.btn_radio_day);
btn_radio_day.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
DatePickerDialog dp
=new DatePickerDialog(Main2Activity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
i1
+=1;
Toast.makeText(Main2Activity.
this,"当前日期:"+i+"年"+i1+"月"+i2+"日",Toast.LENGTH_LONG).show();
}
},year,month,day);
dp.show();
}
});
}
}

 


xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools
="http://schemas.android.com/tools"
android:id
="@+id/activity_main2"
android:layout_width
="match_parent"
android:layout_height
="match_parent"
android:paddingBottom
="@dimen/activity_vertical_margin"
android:paddingLeft
="@dimen/activity_horizontal_margin"
android:paddingRight
="@dimen/activity_horizontal_margin"
android:paddingTop
="@dimen/activity_vertical_margin"
android:orientation
="vertical"
tools:context
="com.example.administrator.myapplication.Main2Activity">
<Button
android:layout_width="match_parent"
android:layout_height
="wrap_content"
android:text
="时间选择"
android:id
="@+id/btn_radio_time"/>
<Button
android:layout_width="match_parent"
android:layout_height
="wrap_content"
android:text
="日期选择"
android:id
="@+id/btn_radio_day"/>
LinearLayout>

运行效果:

我写的Demo是将获取到的时间用Toast显示出来,如有需要,你们可以自己更改。

控件就简单介绍这四种,但是Android中还有许多许多控件,还需多多努力学习。

 



推荐阅读
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
author-avatar
yangwei的马甲
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有