第七章  跑马灯

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. distinct 用法

    参考 1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值. ...

  2. 有标号的DAG计数系列问题

    传送门 II 设 \(f_i\) 表示 \(i\) 个点的答案 那么枚举至少 \(j\) 个点的出度为 \(0\) \[\sum_{j=0}^{i}(-1)^j\binom{i}{j}f_{i-j}2 ...

  3. vue指令示例合集

    vue所有指令练习合集.这是个html文件,用chrome打开可查看结果. <!DOCTYPE html> <html lang="en" xmlns:v-on= ...

  4. 50+ Useful Docker Tools

    As containers take root, dozens of tools have sprung up to support them. Check out your options for ...

  5. (C# Window Service) Verify that you have sufficient privileges to start system services

    写了个Windows Service, 用Wix 写了个Installer,编译通过,生成了msi 安装文件,但是安装的时候总是提示: Product: KingPro Service -- Erro ...

  6. Oracle客户端安装以及PL/SQL Developer安装方法

    1,安装Oracle客户端 2,配置数据库,如下: 安装路径:D:\app\ThinkPad\product\11.2.0\client_1\network\admin 建立文件:tnsnames.o ...

  7. ContentProvider与ContentResolver

    使用ContentProvider共享数据: 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据,但数据 ...

  8. VUE知识day2

    VUE用途 VUE:是用来做单页面的 掘金网单击时会创建对象与销毁,减少与服务器的交互 1模块使用------------------- 1导出------------ export default ...

  9. .net core系列之《将.net core应用部署到Ubuntu》

    1.首先准备一个演示项目. 2.然后将这个项目用FileZilla工具上传到Ubuntu中. 3.进入目标文件,接下来有两种方法来部署项目 a.用dotnet run命令 root@hhz-virtu ...

  10. 【Oracle】数据库中sql%notfound的用法

    SQL%NOTFOUND 是一个布尔值.与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true.否则返回fal ...