视图

一.事件

概念:

事件源:事件发起者,也就是视图组件

事件:事件源产生的动作,并包含相关信息

监听器:

是一些关于事件处理的接口
负责拦截和处理事件信息
要实现相关监听器的接口,把处理事件的业务逻辑写在回调方法里
要把监听器的实现类的实例和事件源进行关联

回调方法:

负责处理事件
由监听器监听到事件之后自动调用

二.实现方式

1-自动关联方式:
在layout文件里,给视图添加onClick=方法名
在java文件里,写onClick的方法,必须有传入参数(View v)
只支持onClick
可以重用
2-匿名内部类:
在setOnxxxListener(new 监听器接口的实现类)
不能重用
3-普通内部类:
能够重用
能直接访问Activity内部的组件
4-普通外部类:
能够重用
不能直接访问Activity内部的组件
适合全局公用的并且不需要直接操作内部组件的事件监听
5-Activity实现类:
由Activity自身去实现监听器接口
setOnxxxListener(this)
能直接访问Activity内部的组件
容易造成代码混乱

三.单选按钮

四.图片按钮

按钮上不能添加文字
src 图片来源
ImageButton

五.图片视图

ImageView
src 图片来源
scaleType 显示属性:
center
centerCrop
centerInside
matrix
fitCenter
fitEnd
fitStart
fitXY
alphe 透明度:
设置值为0~1
<=0,全透明
>=1,不透明

<?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: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"
    tools:context="com.hanqi.testapp2.TestActivity1"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/xiao1" />
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/xiao2"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/xiao1"
        android:text="普通按钮"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <ImageView
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:src="@drawable/xiao3"
        android:alpha="1"
        android:background="#f00"
        android:scaleType="center"
        />
    <ImageView
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:src="@drawable/xiao3"
        android:alpha="1"
        android:background="#f00"
        android:scaleType="centerCrop"
        />
        <ImageView
            android:layout_width="110dp"
            android:layout_height="110dp"
            android:src="@drawable/xiao3"
            android:alpha="1"
            android:background="#f00"
            android:scaleType="centerInside"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:layout_width="110dp"
            android:layout_height="110dp"
            android:src="@drawable/xiao3"
            android:alpha="1"
            android:background="#f00"
            android:scaleType="matrix"
            />
        <ImageView
            android:layout_width="110dp"
            android:layout_height="110dp"
            android:src="@drawable/xiao3"
            android:alpha="1"
            android:background="#f00"
            android:scaleType="fitCenter"
            />
        <ImageView
            android:layout_width="110dp"
            android:layout_height="110dp"
            android:src="@drawable/xiao3"
            android:alpha="1"
            android:background="#f00"
            android:scaleType="fitStart"
            />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:layout_width="110dp"
            android:layout_height="110dp"
            android:src="@drawable/xiao3"
            android:alpha="1"
            android:background="#f00"
            android:scaleType="fitEnd"
            />
        <ImageView
            android:layout_width="110dp"
            android:layout_height="110dp"
            android:src="@drawable/xiao3"
            android:alpha="1"
            android:background="#f00"
            android:scaleType="fitXY"
            />
    </LinearLayout>

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="男"/>
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女"/>

    </RadioGroup>

</LinearLayout>

一.scaleType 显示属性 二.单选按钮
View Code

原文地址:https://www.cnblogs.com/bilibiliganbei/p/5478960.html