2、针对Focused的TextView跑马灯(文字较多一行无法显示)效果
针对单个TextView的跑马灯效果,可直接在TextView控件参数中添加三个属性:
android:singleLine="true"(一行显示会有省略号)
android:ellipsize="marquee"(一行显示无省略号)
android:focusable="true"
android:focusableInTouchMode="true"(最后两条结合使得单个TextView可实现效果)

针对两个或以上TextView或复杂结构的“跑马灯效果”实现需借助自定义控件,具体方法如下:
首先创建两个不同的TextView控件,并分别标明其各自的Id,然后新建一个类,该类继承自TextView,
在类方法里面将构造函数方法全部实现(通过右击找到Generate中的Constructor,依次双击全部构造类)
全部构造方法实现之后,另外添加public boolean isFocused(){return true;},最后再返回XML文件
中,将TextView控件全部换成自定义的 <com.sub.coder.MarqueeText ...>即可实现双跑马灯效果!

3、如何实现对AutoCompleteTextView(根据输入字符自动补全,类百度搜素框)的使用
第一步,拖放AutoCompleteTextView 控件,修改hint=“请输入您想要搜索的内容”并在.java文件中进行控件初始化操作
第二步,新建适配器(Adapter)并初始化数据源数组(用于匹配搜索内容)
第三步,将AutoCompleteTextView 控件与适配器(Adapter)进行绑定操作即可
另外注意,通过android:completionThreshold="2"控件属性设置可修改开始匹配时字符串个数
具体实现代码:package com.sub.coder;

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

public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
private AutoCompleteTextView acTextView;
private String[] res = {"beijing1","beijing2","bejing3","shanghai1","shanghai2"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

acTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
acTextView.setAdapter(adapter);
}

}

4、如何实现MultiAutoCompleteTextView(类似邮箱收件人的多重匹配功能),同上,需多设分割符代码,具体如下:
package com.sub.coder;

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

public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
private AutoCompleteTextView acTextView;
private MultiAutoCompleteTextView macTextView;
private String[] res = {"beijing1","beijing2","bejing3","shanghai1","shanghai2"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

acTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
acTextView.setAdapter(adapter);

macTextView = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView);
macTextView.setAdapter(adapter);
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}

5、利用ToggleButton按钮和ImageView控件实现开关效果:
首先在XML文件中进行ToggleButton按钮和ImageView控件的建立,然后在.java中初始化他们,在本类中实现.OnCheckedChangeListener的接口,
然后在初始化完成之后进行一个方法监听 tb.setOnCheckedChangeListener(this);最后在实现接口时构建的方法中利用一个三目运算符进行当前
按钮状态的判断以及对应状态的图片切换。
package com.sub.coder;

import android.app.Activity;
import android.os.Bundle;
import android.widget.*;

public class MyActivity extends Activity implements CompoundButton.OnCheckedChangeListener{

private ToggleButton tb;
private ImageView img;
private String[] res = {"beijing1","beijing2","bejing3","shanghai1","shanghai2"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tb = (ToggleButton)findViewById(R.id.toggleButton);
img = (ImageView)findViewById(R.id.imageView);
tb.setOnCheckedChangeListener(this);

}

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
img.setBackgroundResource(isChecked?R.drawable.on:R.drawable.off);
}
}

Third Day:正式编程第三天,学习实践内容TextView跑马灯、AutoCompleteTextView、multiAutoCompleteTextView以及ToggleButton、checkedBox、RadioButton等相关实践的更多相关文章

  1. Android学习十二:跑马灯程序实现(简单联系)

    package org.tonny; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; ...

  2. Android学习总结——TextView跑马灯效果

    Android系统中TextView实现跑马灯效果,必须具备以下几个条件: 1.android:ellipsize="marquee" 2.TextView必须单行显示,即内容必须 ...

  3. Vue学习笔记四:跑马灯效果

    目录 跑马灯原理 HTML 箭头函数 计时器 跑马灯效果 跑马灯原理 先讲讲跑马灯的原理,就是一行字,会滚动,思路是这样的,使用substring方法,一个获取字符串的第一个字,一个获取1后面所有的字 ...

  4. 《Linux命令、编辑器与shell编程》第三版 学习笔记---002

    <Linux命令.编辑器与shell编程>第三版 学习笔记---001 Linux命令.编辑器与shell编程 Shell准备 1.识别Shell类型 echo  $0 echo $BAS ...

  5. 022年9月12日 学习ASP.NET Core Blazor编程系列三——实体

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  6. 20155321 2016-2017-2 《Java程序设计》第三周学习总结

    20155321 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 4.1 类与对象 定义类用class关键字,建立实例用new关键字 一个原始码中可有多个类定 ...

  7. JDBC第三次学习

    这是我的JDBC第三次学习了,在学习的过程中,老是会忘掉一些知识,不记下笔记实在不行啊! 使用JDBC调用存储过程 (1)关于如何使用Navicat(11.1.13) for MySQL如何创建存储过 ...

  8. 【转】apue《UNIX环境高级编程第三版》第一章答案详解

    原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ...

  9. 转:JavaScript函数式编程(三)

    转:JavaScript函数式编程(三) 作者: Stark伟 这是完结篇了. 在第二篇文章里,我们介绍了 Maybe.Either.IO 等几种常见的 Functor,或许很多看完第二篇文章的人都会 ...

随机推荐

  1. gulp如何使用

    简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码 ...

  2. 《ASP.NET MVC高级编程(4版)》读书笔记(5)表单和HTML辅助方法

    5.1 表单使用 5.1.1 action 和 method 特性 <form action="/Home/Index">     <input name=&qu ...

  3. Tensorflow serving的编译

    Tensorflow serving提供了部署tensorflow生成的模型给线上服务的方法,包括模型的export,load等等. 安装参考这个 https://github.com/tensorf ...

  4. 行为型模式之Observer模式

    观察者模式(又被称为发布-订阅模式.模型-视图模式.源-收听者模式或从属者模式) 观察者模式中,一个目标对象管理所有依赖于它的观察者对象,并且在它本身的状态改变时主动发出通知. 应用场景 拍卖会可以认 ...

  5. C 标准库系列之locale.h

    locale.h 区域设置相关,主要针对时间日期.货币格式.字符控制.数字格式等以满足某区域的设置需要. locale设置类别主要包括以下几个宏定义的类别: LC_ALL:设置所有的类别: LC_CO ...

  6. C# DM5 32位加密

    using System.Security.Cryptography;using System.Text; public static string StringToMD5Hash(string in ...

  7. mysql 字符串 日期互转

    一.字符串转日期 下面将讲述如何在MySQL中把一个字符串转换成日期: 背景:rq字段信息为:20100901 1.无需转换的: SELECT * FROM tairlist_day WHERE rq ...

  8. find命令与cat命令区别

    在当前目录下查找 MEMBERINTERFACE 这个字符串的文件find . -name '*'|xargs grep "MEMBERINTERFACE"find / -name ...

  9. git使用

    1.权限校验 首先,您的数据保存在远端服务器一份,服务器需要对您的身份进行识别,一段RAS加密字串, 启动GUI,step1:创建秘钥,generate SSHkey. step2:添加密钥:去你的代 ...

  10. Sublime Text 3 快捷键

    选择类Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本.Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数名等 ...