Android开发 ---基本UI组件2

1、activity_main.xml 

  描述:

    定义一个按钮

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:onClick="test_2"/>
</LinearLayout>

2、MainActivity.java

  描述:

    页面跳转

package com.example.android_ui;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}public void test_2(View view){
Intent intent=new Intent(this,ButtonActivity.class);
startActivity(intent);
}
}

3、activity_button.xml

  timg.jpg

  描述:

    1、定义一个图像按钮

       android:src="@drawable/timg"  引用资源文件中的名为timg.jpg的图像

       scaleType=“matrix”            保持原图大小、从左上角的点开始,以矩阵形式绘图。

       scaleType=“fitXY”              将原图进行横方向(即XY方向)的拉伸后绘制的。

       scaleType=“fitStart”           将原图沿左上角的点(即matrix方式绘图开始的点),按比例缩放原图绘制而成的。

       scaleType=“fitCenter”        将原图沿上方居中的点(即matrix方式绘图第一行的居中的点),按比例缩放原图绘制而成的。

       scaleType=“fitEnd”            将原图沿下方居中的点(即matrix方式绘图最后一行的居中的点),按比例缩放原图绘制而成的。

       scaleType=“Center”          保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像。

       scaleType=“centerCrop”   不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以填满
ImagView为目标,对原图进行裁剪)。

       scaleType=“centerInside”  不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以显示
完整图片为目标,对原图进行缩放)。

    2、定义一组单选按钮

       RadioGroup组件和RadioButton组件进行结合设置单选按钮

       android:checked="true" 表示默认选中

    3、定义一组多选按钮

       CheckBox组件用来设置多选按钮

    4、定义一个开关

       ToggleButton组件用来设置开关按钮

       android:checked="true" 默认为开

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/activity_button"
android:layout_width="match_parent"
android:layout_height="match_parent"> <ImageButton
android:scaleType="fitXY"
android:background="@android:color/transparent"
android:src="@drawable/timg"
android:onClick="test_click"
android:layout_width="80dp"
android:layout_height="80dp" /> <RadioGroup
android:id="@+id/usexGroup"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/usex1"
android:text="男"
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RadioButton
android:id="@+id/usex2"
android:text="女"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup> <TextView
android:text="用户爱好:"
android:textSize="30sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<CheckBox
android:id="@+id/ck_1"
android:text="体育"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<CheckBox
android:id="@+id/ck_2"
android:text="娱乐"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<CheckBox
android:id="@+id/ck_3"
android:text="睡觉"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<TextView
android:text="缓存图像"
android:textSize="30sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ToggleButton
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

4、ButtonActivity.java

  描述:

    监听按钮选择改变事件

package com.example.android_ui;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast; public class ButtonActivity extends Activity{
  //获取多选按钮组件
private CheckBox ck1,ck2,ck3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button); ck1=(CheckBox)findViewById(R.id.ck_1);
ck2=(CheckBox)findViewById(R.id.ck_2);
ck3=(CheckBox)findViewById(R.id.ck_3);
     //给每个多选按钮设置选择改变监听事件,即当该多选按钮被选中了就会被监听到
     //onCheckedChange()方法在下面定义了,即将多选按钮传入到onCheckedChange()方法中,再将这个方法又传给setOnCheckedChangeListener()方法中
ck1.setOnCheckedChangeListener(onCheckedChange(ck1));
ck2.setOnCheckedChangeListener(onCheckedChange(ck2));
ck3.setOnCheckedChangeListener(onCheckedChange(ck3)); }
  //定义一个点击图片按钮的事件方法,当点击图片按钮时,弹出Hello
public void test_click(View view){
Toast.makeText(this, "Hello", Toast.LENGTH_LONG).show();
}
  //CheckBox多选按钮实现CompoundButton.OnCheckedChangeListener
  //CompoundButton是一个状态切换控件,它只有两种状态,一种是被选中,一种是未被选中
  //OnCheckedChangeListener是CompoundButton类中定义的一个抽象接口,接口中定义了一个onCheckedChange()方法,这个方法中需要传入一个参数
public CompoundButton.OnCheckedChangeListener onCheckedChange(final View view){
     //实例化这个接口,并重写onCheckedChanged()方法
return new CompoundButton.OnCheckedChangeListener() {
@Override
       //CompoundButton是一个状态切换控件,它只有两种状态,一种是被选中,一种是未被选中
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
          //将上面传入进来的view强转成多选按钮,并实例化一个多选按钮
CheckBox cb=(CheckBox)view;
          //判断传入进来的这个按钮是否被选中
if(cb.isChecked()) {
            //判断ck1按钮的id是否和多选按钮中的一个id相等,如果相等则将这个相等的按钮的文本内容弹出来
if (view.getId() == ck1.getId()) {
              //如果条件成立,则获取被选中按钮的文本内容,并转化为字符串弹出来
Toast.makeText(ButtonActivity.this, ck1.getText().toString(), Toast.LENGTH_LONG).show();
}
if (view.getId() == ck2.getId()) {
Toast.makeText(ButtonActivity.this, ck2.getText().toString(), Toast.LENGTH_LONG).show();
}
if (view.getId() == ck3.getId()) {
Toast.makeText(ButtonActivity.this, ck3.getText().toString(), Toast.LENGTH_LONG).show();
}
}
}
};
}
}

Android开发 ---基本UI组件2:图像按钮、单选按钮监听、多选按钮监听、开关的更多相关文章

  1. Android开发 ---基本UI组件8:九宫格布局、setOnItemClickListener()项被选中监听事件

    效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...

  2. Android开发 ---基本UI组件3:单选按钮、多选按钮、下拉列表、提交按钮、重置按钮、取消按钮

    Android开发 ---基本UI组件2 1.activity_main.xml 描述: 定义一个用户注册按钮 <?xml version="1.0" encoding=&q ...

  3. Android开发 ---基本UI组件4:拖动事件、评分进度条、圆圈式进度条、进度条控制

    Android开发 ---基本UI组件4 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding=" ...

  4. Android开发 ---基本UI组件5:监听下拉选项,动态绑定下拉选项、全选/反选,取多选按钮的值,长按事件,长按删除,适配器的使用,提示查询数据,activity控制多按钮

    效果图: 效果描述: 1.当点击 1 按钮后,进入选择城市的页面,会监听到你选中的城市名称:动态为Spinner绑定数据 2.当点击 2 按钮后,进入自动查询数据页面,只要输入首字母,就会动态查找以该 ...

  5. Android开发 ---基本UI组件6 :只定义一个listView组件,然后通过BaseAdapter适配器根据数据的多少自行添加多个ListView显示数据

    效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...

  6. Android开发 ---基本UI组件7 :分页功能、适配器、滚动条监听事件

    效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...

  7. Android开发---基本UI组件1:自动拨电话,自动上网,输入框不换行、只输数字、只输文本、只输密码

    1.activity_main.xml 描述:构建一个按钮 <?xml version="1.0" encoding="utf-8"?> <L ...

  8. android开发之自定义组件

    android开发之自定义组件 一:自定义组件: 我认为,自定义组件就是android给我们提供的的一个空白的可以编辑的图片,它帮助我们实现的我们想要的界面,也就是通过自定义组件我们可以把我们要登入的 ...

  9. ReactNative Android之原生UI组件动态addView不显示问题解决

    ReactNative Android之原生UI组件动态addView不显示问题解决 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com ...

随机推荐

  1. 20181013xlVba计算优秀率及合格率

    Sub 计算高一优秀合格率() Dim Wb As Workbook Dim Sht As Worksheet Dim oSht As Worksheet Dim dOs As Object 'Out ...

  2. 20170922xlVBA_GetCellTextFromWordDocument

    Sub GetCellTextFromWordDocument() '应用程序设置 Application.ScreenUpdating = False Application.DisplayAler ...

  3. 微信小程序 使用环信聊天工具

    当时做微信小程序环信的时候,没有遇到太多的问题,因为找到了一个例子,有兴趣的朋友可以把这个包下载下来看一下,写的超级的号,使用起来也特别简单,appkey需要自己配置,从环信官网https://con ...

  4. 『Python』PIL图像处理_形变操作

    使用PIL.Image进行简单的图像处理 # coding=utf-8 from PIL import Image import matplotlib.pyplot as plt def show_i ...

  5. bzoj2555: SubString sam+lct

    题意:懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作. 题解 ...

  6. SpringBoot利用注解@Value获取properties属性为null

    参考:https://www.cnblogs.com/zacky31/p/8609990.html 今天在项目中想使用@Value来获取Springboot中properties中属性值. 场景:定义 ...

  7. PinkEx专用图标

  8. vue组件生命周期详解

    Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...

  9. 五、持久层框架(Hibernate)

    一.分页查询 使用Criteria进行分页查询,无论是使用Oracle,MySQL,NoSQL,DB2,分页查询的代码写法都相同. 分页查询代码示例: package com.demo.test; i ...

  10. 配置嵌入式Servlet容器

    SpringBoot默认是用的是Tomcat作为嵌入式的Servlet容器:问题?1).如何定制和修改Servlet容器的相关配置:1.修改和server有关的配置(ServerProperties) ...