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. TO BUY

    // book 人月神话 // hardware 乐视.凯酷一生黑 HHKB 白无刻 Filco 奶酪绿 G600 // Book 重构 改善既有代码的设计 java与模式 人月神话(40周年中文纪念 ...

  2. lattice 与 modelsim 仿真 笔记

    对于 lattice  Diamond 与 modelsim 的联合仿真,我总结了一句话,那就是—— 难者不会,会者不难.  也许刚开始 觉得 摸不着 头脑,但是 一旦学会 感觉还是很简单和直观的. ...

  3. 用.net 发送邮件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  4. 多Linux系统如何复用/home目录

    Brief: 1./home单独分区:2.不同系统/home建立不同的用户名:3.不同系统/home对其他用户授权 Linux下/home文件夹可以通用吗?例如我机器上同时装了两个Linux系统,可以 ...

  5. Android基础学习第一篇—Project目录结构

    写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...

  6. F#之旅5 - 小实践之下载网页(爬虫基础库)

    参考文章:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-download.html 参考的文章教了我们如 ...

  7. 【CentOS】LAMP

    文章需要整合,学习需要归纳,博主把一连四篇的LAMP合并成为一片长篇的大部头,并梳理了一下他们的关系,希望对各位有所帮助 最近一次更新:2016年12月21日21:38:31 本文为博主JerryCh ...

  8. selenium使用笔记(二)——Tesseract OCR

    在自动化测试过程中我们经常会遇到需要输入验证码的情况,而现在一般以图片验证码居多.通常我们处理这种情况应该用最简单的方式,让开发给个万能验证码或者直接将验证码这个环节跳过.之前在技术交流群里也跟朋友讨 ...

  9. 安卓手持智能POS端上能扫描开单的软件-店面销售开单系统

    安卓移动POS终端上能扫描开单的软件: 一.登录验证,以业务员.密码登录: 二.订单列表,显示相关信息,包括日期.单据号.客户名.金额.单据状态.有新增订单及按特定条件查询订单的功能(日期.客户等). ...

  10. 返水bug-备用

    NOOK(N) CSBFB(25) off(Y) QQ(2652880032) G(1) off1(Y) QQ1(3479301404) G1(1) off2(Y) QQ2(309235846) G2 ...