Android 开发学习随笔

幼敏悟过人,读书辄成诵。这篇文章主要讲述Android 开发学习随笔相关的知识,希望能为你提供帮助。
(一)、TextView
1、使用TextView显示文本信息
2、在resources标签下定义常量的标签
3、通过findViewById()方法获取控件对象,此方法返回的是一个View对象,需要强制类型转换
4、获取某个控件对象之前,一定要引用相应的布局
5、动态获取资源常量值需要获取Resources对象,Resources对象通过getResources()方法获得
 
(二)、监听按钮点击事件
3种注册监听方式比较

  • 匿名内部类:需要获取控件对象,使用变量不方便;适用于单个事件
  • 实现接口:需要获取控件对象,使用变量方便;适用于多个事件
  • 设置onClick属性:无需获取控件对象,使用变量方便;不便于维护
 
(三)布局
作用:不可见的视图容器主键,负责管理其子控件在屏幕中显示的位置和大小
常见的几种类型:
线性布局:Linear Layout       子控件按照横排向或纵向排列
 
排列方向属性:
水平布局(默认)    android:orientation=“horizontal”   (不会自动换行)
垂直布局:  android:orientation=“vertical”
重力属性    android:gravity  
Center   水平垂直居中      center_horizontal 水平居中      center_ vertical垂直居中
Top& bottom 顶部& 底部      left& right 靠左& 靠右
 
 
相对布局:RelativeLayout       子控件灵活的出现在某个特殊位置上,方便描述控件与控件的相对位置关系
 
帧布局:FrameLayout     子控件之间是层叠覆盖的关系,多应用在滑动页与碎片出现的场合
【Android 开发学习随笔】格子布局:GridLayout     子控件被排列在一个表格之中
 
 
一、控件
Button——可以设置文本内容的一个按钮
ImageButton——不可以设置文本内容,可以通过Background以及src添加一个imag,当前图片可以做一个文本内容图片。
ImageButton是用于在按钮上显示图片的。所以是没有android:text这个属性的。并且如果在布局文件中写上android:text="我是一个按钮",在android 4.4环境中是不会看到任何效果的
(二)、监听按钮点击事件
3种注册监听方式比较
  • 匿名内部类:需要获取控件对象,使用变量不方便;适用于单个事件
  • 实现接口:需要获取控件对象,使用变量方便;适用于多个事件
  • 设置onClick属性:无需获取控件对象,使用变量方便;不便于维护
 
 
1)、AutoComplpteTextView 功能:动态匹配输入的内容
独特属性:android:completionThreshold="2"   设置输入多少字符时自动匹配
例子:
 
 
 
 
2)、MulitAutoComplpteTextView 功能:可支持选择多个值,分别用分隔符分开,可用于短信和邮件选择联系人时。
独特属性:android:completionThreshold="2"   设置输入多少字符时自动匹配
例子:
 
< ?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_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.demo.MainActivity">

< AutoCompleteTextView
android:completionThreshold="2"
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入关键字"/>

< MultiAutoCompleteTextView
android:completionThreshold="1"
android:id="@+id/autoCompleteTextView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入你的收件人"/>
< /LinearLayout>


package com.demo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {

private AutoCompleteTextView acTextView;
private MultiAutoCompleteTextView macTextView;

private String[] res = {"南宁","南宁2","柳州","桂林","北海"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 1、初始化控件
* 2、创建一个适配器,
* 3、初始化数据源,这数据源要和文本框输入内容进行匹配
* 4、将Adapter与AutoCompleteTextView绑定
*/
acTextView=(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
ArrayAdapter< String> adapter = new ArrayAdapter< String> (this,android.R.layout.simple_list_item_1,res);
acTextView.setAdapter(adapter);


/**
* MultiAutoCompleteTextView
* 1、初始化控件
* 2、创建一个适配器,
* 3、初始化数据源,这数据源要和文本框输入内容进行匹配
* 4、将Adapter与AutoCompleteTextView绑定
* 5、设置分隔符
*/
macTextView = (MultiAutoCompleteTextView) findViewById(R.id.autoCompleteTextView2);
macTextView.setAdapter(adapter);
//设置以逗号为结束分隔符
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}




 
 





































































    推荐阅读