控件 TextView 显示文本
Plain Text 输入文本

//将布局xml文件引入到activity当中setContentView(R.layout.activity_main);<!--  wrap_content:包裹实际文本内容(内容有多少我的长宽高就多少)match_parent:当前控件铺满父类容器  ———— 2.3api之后添加的一个属性值fill_parent:当前控件铺满父类容器   ————— 2.3api之前的一个属性值android:textSize="28sp"  文本字体的大小android:textColor="#eeeeee"  文本字体的颜色--><TextView
        android:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="姓名:"android:textSize="28sp"android:textColor="#eeeeee"tools:layout_editor_absoluteX="57dp"tools:layout_editor_absoluteY="32dp" />
<!--
android:hint="请输入你的姓名"  只是文本的提示
android:text="Name"   文本控件的真正显示
--><EditText
        android:hint="请输入你的姓名"android:textSize="20sp"android:id="@+id/editText"android:layout_width="266dp"android:layout_height="43dp"tools:layout_editor_absoluteY="99dp"tools:layout_editor_absoluteX="59dp" />    

针对虚拟机控件集中在左上角:
是布局设置的不对,如LinearLayout

  • 3ImageView
    显示图片控件
    android:src = ”’@drawable /ic_launcher’
    应用 drawable 的图片内容
    android:background = ”’@drawable /ic_launcher’
    应用 drawable 的图片当背景
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.adb.li806.myapplication.MainActivity"><ImageView
        android:id="@+id/imageView"android:layout_width="match_parent"android:layout_height="wrap_content"android:src="@mipmap/ic_launcher"android:background="#f0f0f0"/><ImageView
        android:id="@+id/imageView2"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@mipmap/ic_launcher" /><ImageView
        android:id="@+id/imageView3"android:layout_width="match_parent"android:layout_height="20dp"android:background="#f0f0f0" />
</LinearLayout>

不同分辨率图片设置

<?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"><ImageView
        android:id="@+id/imageView"android:layout_width="match_parent"android:layout_height="wrap_content"android:src="@mipmap/ic_launcher" /><!--无论高分辨率还是低分辨率根据以上代码ImageView设备自动寻找适应的图片图标的名称都一样只不过分辨率不一样--></LinearLayout>
  • 4 Button 按钮
    特征:
    1.作为一个按钮产生点击事件
    2.Button有text属性,ImageButton没有
  • 5 ImageButton 图片按钮
    特征:
    1.作为一个按钮产生点击事件
    2.ImageButton由src属性,Button没有(src属性就是引用图片的属性)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:weightSum="1"><Button
        android:id="@+id/button2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="登陆" /><Button
        android:id="@+id/button2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/Button_name" /><!--@string  访问string下面的资源res下面的所有资源都会在gen更目录下的R.java文件中生成对应的资源id(唯一标识的id)--><ImageButton
        android:id="@+id/imageButton"android:layout_width="match_parent"android:layout_height="77dp"android:layout_weight="0.13"android:background="@drawable/doraemon1"android:src="@mipmap/ic_launcher" />
</LinearLayout>


Button 可以设置文本内容的按钮
ImageButton 不可以设置文本内容,background以及src添加一个image,当前图片上可以做一个有文本的图片(何苦内“—”)
设置background图片会填充整个ImageButton,设置src图片会自适应
以上文件都是在修改activity_main.xml文件

  • 5 Button和ImageButton的监听事件
    1.onClick事件
    (1)通过.setOnClickListener(OnClickListeber)方法添加点击事件
    (2)所有的控件都有onClick事件
    (3)通过点击事件的监听可以实现点击按钮之后要发生什么动作

    1. 监听事件实现的几种写法
      1.匿名内部类的实现
      2.独立类的实现
      3.实现接口的方式来实现
package com.adb.li806.myapplication;import android.media.Image;
import android.provider.Settings;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;public class MainActivity extends AppCompatActivity implements  View.OnClickListener{private Button loginButton;private Button bt2;private ImageButton ibt1;private Button bt3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//将布局xml文件引入到activity当中setContentView(R.layout.activity_main);/** 1.初始化当前所需要控件,如何初始化一个控件?* findViewById 返回的是一个View的对象,* View是所有控件的父类* findViewById是如何查找到对应view的id? R.java文件生成控件唯一的id** 2.设置Button的监听器,通过监听器实现我们点击Button要操作的事情**/loginButton = (Button) findViewById(R.id.button1);//(1)监听事件通过第一种方式实现(匿名内部类)//     该方法需要一个OnClickListener对象loginButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//在当前onClick方法中监听点击Button的动作System.out.println("我的Button被点击了");}});//(2)外部类监听点击事件(在开发中比较少见)bt2 = (Button) findViewById(R.id.button2);ibt1 = (ImageButton) findViewById(R.id.imageButton1);bt2.setOnClickListener(new MyOnClickListener(){//手动实现onClick方法@Overridepublic void onClick(View v) {super.onClick(v);//调用父类(MyOnClickListener)的onClick事件Toast.makeText(MainActivity.this,"bt2要执行的逻辑", Toast.LENGTH_SHORT ).show();//MainActivity.this 指明调用的是谁//Toast 是一个 View 视图,消息框,主要用于 一些帮助 / 提示。// 第一个参数:当前的上下文环境。可用getApplicationContext()或this// 第二个参数:要显示的字符串。也可是R.string中字符串ID// 第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000ms}});ibt1.setOnClickListener(new MyOnClickListener(){@Overridepublic void onClick(View v) {super.onClick(v);Toast toast=Toast.makeText(getApplicationContext(), "ibt1要执行的逻辑", Toast.LENGTH_SHORT);//显示toast信息toast.show();}});//(3)通过实现一个接口的方式实现监听事件bt3 = (Button) findViewById(R.id.button3);bt3.setOnClickListener(this);}//接口方式监听按钮点击事件@Overridepublic void onClick(View v) {Log.i("tag","第三种方式实现");//"tag":可以理解成标志,查看日志时快速找到自己设置的标志,以便查看text的内容,tag也恰恰是标志的意思}
}/*外部类
* OnClickListener是一个接口所以不能用继承 extends
* 错误示范:class MyOnClickListener extends View.OnClickListener
*外部类可以在com.adb.li806.myapplication包下重新写一个class
*
*
* 好处:多个按钮要输出同样一句话。(不仅要干自己的事情还要做同样的事情)
* 也就是通过外部类的书写减少代码的冗余。
*
*/
class MyOnClickListener implements View.OnClickListener{@Overridepublic void onClick(View v) {Log.i("tag","父类的onClick事件");/** 1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");* 2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.* 3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息* 4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。* 5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了* *///让所有使用当前外部类的点击事件的按钮都要做出一个动作,改变button本身的透明 alpha 是0到1  0是不显式 1是显示v.getBackground().setAlpha(100);//透明度0~255透明度值 ,值越小越透明//错误:v.setAlpha(0.5f);    // f 代表float类型    v点击按键的对象}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:weightSum="1"><Button
        android:id="@+id/button1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="登陆"android:layout_weight="0.09" /><Button
        android:id="@+id/button2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/Button_name"android:layout_weight="0.13" /><!--@string  访问string下面的资源res下面的所有资源都会在gen更目录下的R.java文件中生成对应的资源id(唯一标识的id)--><ImageButton
        android:id="@+id/imageButton1"android:layout_width="match_parent"android:layout_height="77dp"android:layout_weight="0.13"android:background="@drawable/doraemon1"android:src="@mipmap/ic_launcher" /><Button
        android:id="@+id/button3"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="第三人称"android:layout_weight="0.10" />
</LinearLayout>

Android开发 第2课 控件TextView、Plain Text、ImageView、 Button、ImageButton以及点击事件相关推荐

  1. Android开发三:常用控件1--TextView、EditText、Button

    上一节写到android的工程目录结构,这一节继续,开始学习控件,中间的跨度挺大,关于Activity和intent的知识我就略过了,原因很简单,网上的关于那个的资料特别多,而且理论的东西我这都是了解 ...

  2. Android开发之日期时间控件选择

    Android开发之日期时间控件选择 文章目录 前言 一.创建弹出Layout 1.1 新建Layout,修改样式为LinearLayout 1.2 Layout中添加日期和时间控件 二.新建Date ...

  3. android开发中为MultiAutoCompleteTextView控件添加其他分隔符

    android开发中为MultiAutoCompleteTextView控件添加其他分隔符,例如:分隔符改为分号";" zs;ls;ww;xm //SemicolonTokeniz ...

  4. Android开发的之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  5. Android开发--RadioButton和CheckBox控件的使用

    在Android的开发中可能会用到RadioButton和CheckBox这两个控件,如果你对MFC开发熟悉的话,相信对这两个控件并不陌生,它们的形状也都是一样的,RadioButton是圆形单选按钮 ...

  6. Android开发之动态添加控件

    动态添加TextView控件: 一:创建一个Android project项目 activity_main.xml文件: 1.用两个LinearLayout布局分别包裹一对TextView,EditT ...

  7. qt android漂亮控件,qt android 开发之炫酷控件的制做

    手机应用开发,就是吸引用户,要吸引用户,确定离不开用户体验!此次给你们分享一个自做的炫酷qml控件:fanControler 这个控件目前有点bug,不过整体效果仍是很赞的,经过滑动划片来控制风扇的转 ...

  8. Android开发:1-2、UI编程----TextView、EditView、Button、ImageView、ImageButton、CheckBox

    UI编程----文本框(TextView)和编辑框(EditView) 一.TextView 二.EditView 三.Button 四.ImageView和ImageButton 五.CheckBo ...

  9. html更改textbox的id,NET开发-WebForm中TextBox控件ID、Text、TextModel等属性的使用

    .NET开发-WebForm中的TextBox控件 1. TextBox概述 在ASP.NET Web应用程序中,TextBox控件是文本框控件.用于在网页表单中,让用户输入文本内容,收集用户信息,然 ...

最新文章

  1. HTML5 —— 视频/音频
  2. JavaScript内存泄漏
  3. hadoop 依赖式job_Hadoop Job使用第三方依赖jar文件
  4. awk 查看ip连接数(常见应用一)
  5. STORM的三种事务
  6. Python_二维数组
  7. Eclipse中的,ER图生成工具:【ERMaster】
  8. 【Linux私房菜】第四期——管理
  9. 雷达多普勒频率计算公式_雷达导论PART-III.5 脉冲雷达的工作机理
  10. Android studio——百度地图
  11. 软考嵌入式中级经验分享+真题教材
  12. 清明节日期的计算方法
  13. SIFT特征匹配算法介绍——寻找图像特征点的原理
  14. 计算机网络双绞线的功能,双绞线由几根组成?双绞线每根线的作用
  15. iOS(iPhone,iPad))开发(Obje…
  16. 网站设计公司有哪些?如何找到可靠的网站设计公司?
  17. chm文档的编辑办法
  18. Android View的事件分发机制和滑动冲突解决方案
  19. RocketMQ入门及部署
  20. 博士学python有用吗_博士生学历真的很重要吗?

热门文章

  1. HDFS、Ceph文件系统以及Hbase、Cassendra、TiDB比较
  2. python爬虫图片工具安卓版下载_python爬虫之图片下载APP1.0
  3. 【元胞自动机】基于元胞自动机实现高速公路收费站交通流问题附matlab代码
  4. Daz导出模型的部件中英文对照
  5. 数睿数据与沙特领先的云平台厂商Virtual Vision达成战略合作!
  6. 四川大学软件学院 2017级系统级编程 复习知识点-很零碎的那种
  7. m4s格式转换mp3_怎么把腾讯缓存的视频转换成MP3格式
  8. 使用人人开源项目遇到的一些坑
  9. Android数据存储之文件存储
  10. 2022Java面试题大全(整理版)面试题附答案详解,最全面详细