Android 开发学习随笔
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 子控件之间是层叠覆盖的关系,多应用在滑动页与碎片出现的场合
格子布局: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());
}
}
以上是关于Android 开发学习随笔的主要内容,如果未能解决你的问题,请参考以下文章
android 学习随笔二十七(JNI:Java Native Interface,JAVA原生接口 )
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情