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 学习随笔十八(广播与服务 )

Android深度开发第6章随笔

Android开发常用代码片段

android 学习随笔二十七(JNI:Java Native Interface,JAVA原生接口 )

android 学习随笔二十一(内容提供者 )

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情