前言

大家好,给大家带来Android开发工程师文集-相关控件的讲解,五大布局的概述,希望你们喜欢

TextView控件

TextView控件有哪些属性:

android:id->控件的id
android:layout_width->控件的宽度
android:layout_height->控件的高度
android:text->文本内容
android:textSize->文本的大小
android:textColor->文本的颜色
android:background->控件的背景,可设置颜色或图片

EditText控件

EditText控件有哪些属性:

android:id->
android:layout_width:
android:layout_height:
android:text:
android:textSize:
android:textColor:
android:background:
//
android:hint->输入提示
android:inputType->输入的类型

设置颜色

  1. 在xml中是android:textColor
  2. 在Activity中是setTextColor

AutoCompleteTextView

AutoCompleteTextView为控件自动显示输入文本时出现的提示信息。

相关属性:android:completionThreshold="2"

示例代码:

private String[] strings={ "数据1","数据2",....};
//初始化控件
//需要适配器
//初始化数据源
//adpter-autocompleteTextView
autocompleteTextView = findViewById(R.id.autocompleteTextView);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,strings);
autocompleteTextView.setAdapter(adapter);

MultiAutoCompleteTextView

主要为可多选择值而已。

这里主要用分隔符,可输入多个值

multiAutoCompleteTextView = findViewById(R.id.multiAutoCompleteTextView);
multiAutoCompleteTextView.setAdapter(adapter);

注意要设置分隔符

multiAutoCompleteTextView.setTokenizer(new multiAutoCompleteTextView.CommaTokenizer());

ToggleButton

这个ToggleButton有两种状态,一种是被选中,一种是没有被选中。

可以理解为是电灯的开关效果,该属性有:

android:checked="true"
android:textOff="off"
android:textOn="on"

主要实现的方法:

@Override
public void onCheckedChanged(CompoundButton, buttonView, boolean isChecked){
//图片的切换
imgpicture.setBackgroundResource(isChecked?R.drawable.one:R.drawable.two);
}

Intent跳转

1. startActivity(intent);
2. startActivityForResult(intent,requestCode);
onActivityResult();//MainActivity
onResult();

接下来只学startActivityForresult():

Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent,1);

同在MainActivity中创建onActivityResult()方法:

接收返回来的数据

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
}

那么在SecondActivity中创建onResult()的方法:

回传Intent的对象,回传数据

Intent data=new Intent();
data.putExtra("data",name);
setResult(2,data);

在MainActivity中的onActivityResult():

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && resultCode == 2){
String name = data.getStringExtra("data");
tv.setText(name);
}

四大组件

Android的四大组件

  • Activity
  • Service
  • BroadcastReceiver
  • Content Provider

再次学习一下activity的生命周期

  • onCreate();
  • onStart();
  • onResume();
  • onPause();
  • onStop();
  • onDestroy();
  • onRestart();

activity的四种状态:

  1. 活动状态
  2. 暂停状态
  3. 停止状态
  4. 销毁状态

一个activity的一生:

onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()

启动到后台再前台:

onCreate()->onStart()->onResume()->onPause()->onStop()->onRestart()->onStart()->onResume()

设置个小窗口的启动模式周期:

onResume()为获取焦点

onPause()为失去焦点

onCreate()->onStart()->onResume()->onPause()->onResume()

CheckBox与RadioButton

//核心
if(isChecked){
String text = checkBox.getText().toString();
}

这里讲RadioButton,注意RadioGroup就行。

//核心
@Override
public void onCheckedChanged(RadioGroup group, int checkedId){
switch(checkedId){
case R.id.button1:
break;
case R.id.button2:
break;
default:
}
}

当然这里你也可以用RadioButton来监听,但是个人认为RadioGroup比较方便吧!

五大布局

LinearLayout:

android:orientation=""
1. vertical
2. horizontal
android:gravity=""
center,bottom,left,right
android:layout_gravity=""
android:layout_weight=""
//android:layout_height="match_parent"的比例为反,用android:layout_weight=""的话
  1. layout_gravity调整该布局相对父布局的位置
  2. gravity是调整该布局中子布局的位置
  3. 水平的LinearLayout要从左边开始依次放置布局

    4.layout_gravity只有在LinearLayout布局中

RelativeLayout:

相对布局,我们只要知道相应的属性就行:

android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginLeft="50dp"
android:layout_marginBottom="50dp"
android:layout_toRightOf="@+id/button1"
android:layout_toLeftOf="@+id/button2"
android:layout_below="@+id/button1"
//
android:layout_alignBaseline="@+id/button1"
android:gravity=""

这些根据英文意思就了解了。

FrameLayout:

先放的在下面,都在左上方。

AbsoluteLayout:

android:layout_x="50dip"

android:layout_y="50dip"

TableLayout:

TableRow-View

重要的属性:

//都是从0开始的索引列
android:collapseColumns="1,2"//隐藏
android:shrinkColumns="1,2"//收缩
android:strechColumns="1,2"//拉伸
android:layout_column="1"//显示在第二列
android:layout_span="2"//这个表示一个空间占据两列

如果觉得不错,那就点个赞吧!❤️

总结

  • 本文讲了Android开发工程师文集-相关控件的讲解,五大布局,如果您还有更好地理解,欢迎沟通
  • 定位:分享 Android&Java知识点,有兴趣可以继续关注

Android开发工程师文集-相关控件的讲解,五大布局的更多相关文章

  1. Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解

    前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...

  2. Android开发工程师文集-layout_weight讲解

    前言 大家好,给大家带来Android开发工程师文集-layout_weight讲解的概述,希望你们喜欢 Layout_weight的相关代码展示 <TextView android:layou ...

  3. Android开发工程师文集-1 小时学会各种Drawable

    前言 大家好,给大家带来Android开发工程师文集-1 小时学会各种Drawable的概述,希望你们喜欢 Drawable介绍 Drawable为抽象类,drawable与view有区别的地方,主要 ...

  4. Android开发工程师文集-1 小时学会Widget小组件开发

    前言 大家好,给大家带来Android开发工程师文集-1 小时学会Widget小组件开发的概述,希望你们喜欢 学会用Widget (小组件) Widget小组件很方便,很快捷,可以个性化,自己定制,相 ...

  5. Android开发中目前流行控件和知识点总结

    Android开发中目前流行控件和知识点总结   1.SlidingMenu 滑动菜单 应用案例:Facebook . Path 2.0 .人人.网易新闻 下载地址: https://github.c ...

  6. Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式

    Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...

  7. Android开发工程师文集-Android知识点讲解

    前言 大家好,给大家带来Android开发工程师文集-Android知识点讲解的概述,希望你们喜欢 WebView讲解 一般通过Intent调用系统的浏览器: Uri uri = Uri.parse( ...

  8. Android开发工程师文集-1 小时学会SQLite

    前言 大家好,给大家带来Android开发工程师文集-1 小时学会SQLite的概述,希望你们喜欢 内容 什么是Sqlite: 效率高,开源,小型,程序驱动,支持事务操作,无数据类型,可嵌入的关系型数 ...

  9. Android开发之自定义组合控件

    自定义组合控件的步骤1.自定义一个View,继承ViewGroup,比如RelativeLayout2.编写组合控件的布局文件,在自定义的view中加载(使用View.inflate())3.自定义属 ...

随机推荐

  1. Dom文本应用-表格隔行间亮样式

    效果:  隔行一个颜色,鼠标移上去,被选中的那一行就变颜色,其次,鼠标离开其区域,颜色又变回原来的颜色. 一.表格隔行间亮样式-HTML代码 首先我们要有个表格 <table id='tab1' ...

  2. 我的hadoop学习之路

    Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上. Ha ...

  3. DB2(Procedure)存储过程遍历循环!

    有时候一些复杂的业务逻辑将要通过存储过程的循环语句进行处理;以下列出2种DB2存储过程的循环语句,方便以后的查看并使用! 推荐第一种方式的使用,最大的优点就是比较直观;在需要操作很多字段的情况下,不需 ...

  4. 第一个只出现一次的字符字符(python)

    题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).   # -*- codin ...

  5. lambda正则化参数的大小影响

    当lambda的值很小时,其惩罚项值不大,还是会出现过拟合现象,当时lambda的值逐渐调大的时候,过拟合现象的程度越来越低,但是当labmda的值超过一个阈值时,就会出现欠拟合现象,因为其惩罚项太大 ...

  6. vue去掉地址栏#(带来的后果)

    按以下修改后,带来的后果:打包后部分图片访问不到,首页没加载router-view内容 router 的index中配置模式设置为history export default new Router({ ...

  7. JavaSE基础知识(1)—初识Java

    一.JAVA的背景 JAVA本身隶属的公司的是sun公司(创始公司) JAVA创始人:詹姆斯 高斯林 09年被oracle收购 JAVA的前身是Oak 二.JAVA的版本 95年 JAVA诞生96年 ...

  8. Linux驱动之一个简单的输入子系统程序编写

    的在Linux驱动之输入子系统简析已经分析过了输入子系统的构成,它是由设备层.核心层.事件层共同组成的.其中核心层提供一些设备层与事件层公用的函数,比如说注册函数.反注册函数.事件到来的处理函数等等: ...

  9. highcharts echarts比较

    1,highcharts底层是svg echarts底层是canvas 2,svg和canvas的区别 canvas 依赖分辨率 不支持事件处理器 弱的文本渲染能力 能够以 .png 或 .jpg 格 ...

  10. Android 获得本地IP地址、外网IP地址、本设备网络状态信息、本地Mac地址

    本地内网IP和外网IP的区别: 根据我的经验一台电脑需要两个ip才可以上网,一个是本地的内网ip 一个是外网的ip 本地的ip 一般是192.168.1.2这种样子  只要在不同的路由器上可以重复 外 ...