第七章  跑马灯

activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.helloworld.MainActivity"
android:orientation="vertical" > <com.example.helloworld.MarqueeTest //2 注意这里,使用自定义
android:singleLine="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:ellipsize="marquee" //1 一般情况下 以上4行代码即可实现跑马灯 但是同一界面多个textview都需要跑马灯效果时 不可行 此时需要第2种方法
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/text_name" /> <com.example.helloworld.MarqueeTest
android:singleLine="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:ellipsize="marquee"
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/text_name2" /> </LinearLayout> //2 新建一个类 自定义xml样式

public class MarqueeTest extends TextView {

public MarqueeTest(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

public MarqueeTest(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}

public MarqueeTest(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}

//非常关键
@Override
public boolean isFocused() {
// TODO Auto-generated method stub
return true;
}

}

第八章 动态自动匹配

AutoCompleteTextView控件

layout中需要设置 android:completionThreshold="3" //输入多少个字符时出现自动匹配内容 其他的代码如下

public class MainActivity extends Activity  {

    private AutoCompleteTextView acTextView;   //1 初始化控件
private String[] res = {"beijing1","beijing2","shanghai1","shanghai2"}; // 3 初始化数据源 @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.autoCompleteTextView1); // 1 初始化控件
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res); //2 需要一个适配器 acTextView.setAdapter(adapter); //4 将adapter与当前的AutoCompleteTextView绑定
} }

MultiAutoCompleteTextView控件 效果如下

public class MainActivity extends Activity  {

    private MultiAutoCompleteTextView macTextView;   //1初始化控件
private String[] res = {"beijing1","beijing2","shanghai1","shanghai2"}; //3 初始化数据源 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
* 1 初始化控件
* 2 需要一个适配器
* 3 初始化数据源
* 4 将adapter与当前的MultiAutoCompleteTextView绑定
* 5 设置分隔符
* */ macTextView = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1); //1 初始化控件
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res); //2 需要一个适配器 macTextView.setAdapter(adapter); //将adapter与控件绑定 macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); //设置逗号最为分隔符
} }

第九章 ToggleButton

有两种状态:选中和未选中 可以为不同状态设置不同显示文本

layout设置

    <ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textOn="开"
android:textOff="关"/> <ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/light_off"/>

MainActivity.java

public class MainActivity extends Activity implements OnCheckedChangeListener { //2 实现监听接口

    private ToggleButton tb;  // 1 初始化控件
private ImageView img; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main); tb = (ToggleButton)findViewById(R.id.toggleButton1); //1 初始化控件
img = (ImageView)findViewById(R.id.imageView1); tb.setOnCheckedChangeListener(this); // 2 给togglebutton绑定监听事件 } @Override //3 重写监听方法
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
img.setBackgroundResource(arg1?R.drawable.light_on:R.drawable.light_off); } }

Android攻城狮学习笔记—入门篇二的更多相关文章

  1. Android攻城狮学习笔记—入门篇三

    第十章 CheckBox 与其他控件类似 有自己的监听方法 实现监听 并定义被选中或取消后的操作 第十一章 RadioGroup和RadioButton RadioGroup是RadioButton的 ...

  2. Android攻城狮学习笔记—入门篇一

    第一章 搭建Android开发环境 1.1 环境组成 JDK(Java Development Kit) Eclipse Android SDK(Software Development Kit) A ...

  3. Android攻城狮学习笔记-进阶篇一

    点击快速抵达: 第1章 AndroidManifest配置文件 第2章 使用ListView显示信息列表 第3章 使用DatePicker及TimePicker显示当前日期和时间 第4章 使用Grid ...

  4. 前端攻城狮学习笔记九:让你彻底弄清offset

    很多初学者对于JavaScript中的offset.scroll.client一直弄不明白,虽然网上到处都可以看一张图(图1),但这张图太多太杂,并且由于浏览器差异性,图示也不完全正确. 图一 不知道 ...

  5. PHP学习笔记 - 入门篇(5)

    PHP学习笔记 - 入门篇(5) 语言结构语句 顺序结构 eg: <?php $shoesPrice = 49; //鞋子单价 $shoesNum = 1; //鞋子数量 $shoesMoney ...

  6. PHP学习笔记 - 入门篇(4)

    PHP学习笔记 - 入门篇(4) 什么是运算符 PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. PHP中的算术运算符 算术运算符主要 ...

  7. PHP学习笔记 - 入门篇(3)

    PHP学习笔记 - 入门篇(3) 常量 什么是常量 什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量 ...

  8. PHP学习笔记--入门篇

    PHP学习笔记--入门篇 一.Echo语句 1.格式 echo是PHP中的输出语句,可以把字符串输出(字符串用双引号括起来) 如下代码 <?php echo "Hello world! ...

  9. PHP学习笔记 - 入门篇(2)

    PHP入门篇(2) 什么是变量 变量是用于存储值的容器,如下 $var = @"6666" 如何定义变量 定义变量就是像服务器的内存申请空间,用来存储数据,eg: <?php ...

随机推荐

  1. error: unpack failed: error Missing tree

    最近新建一个仓库,push时遇到如下问题,试了好多方法,最后在stackoverflow上找到解决办法了,可是在开始时就试过这方法,但不成.至于为嘛出现的这种错误,还是不明白原因. git.exe p ...

  2. 在js里面比较大小必须先转换成number

    利用js里面的Number函数从对象转换成数值

  3. JavaWeb学习总结(五):HttpServletRespone对象(一)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  4. css3在页面中插入内容

    A. 使用选择器来插入内容 h2:before{ content:"前缀"; } h2:after{ content:"后缀"; } B. 指定个别的元素不进行 ...

  5. angular开发中的两大问题

    一.在我们的angular开发中,会请求数据但轮播图等...在请求过数据后他的事件和方法将不再执行: 看我们的解决方案一: app.controller("text",functi ...

  6. Google APAC----Africa 2010, Qualification Round(Problem B. Reverse Words)----Perl 解法

    原题地址链接:https://code.google.com/codejam/contest/351101/dashboard#s=p1 问题描述: Problem Given a list of s ...

  7. Http请求超时的一种处理方法

    URLConnection类常见的超时处理就是调用其setConnectTimeout和setReadTimeout方法: setConnectTimeout:设置连接主机超时(单位:毫秒) setR ...

  8. RocketMQ读书笔记6——可靠性优先的使用场景

    [顺序消息] 顺序消费是指消息的产生顺序和消费顺序相同. 比如订单的生成.付款.发货,这三个消息必须按顺序处理才可以. [顺序消息的分类] 全局顺序消息和部分顺序消息. 上面订单的例子,其实是部分顺序 ...

  9. 常用cmd命令大全

    最早的电脑系统是从DOS系统开始,DOS时代没有现在Windows这样的视窗操作界面,让你输入命令.随着电脑的发展至今,学习一些常用cmd命令大全是很有必要.大多数的程序员高手们或计算机专家在DOS系 ...

  10. js构建类的方法

    Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有Class.(不过,ES6引入了Class这个概念,作为对 ...