—–本文内容全部来自于慕课网上的用户笔记,我只是整理过来—-
Button&ImageButton
ImageButton是用于在按钮上显示图片的。所以是没有android:text这个属性的。并且如果在布局文件中写上android:text=”我是一个按钮”,在android 4.4环境中是不会看到任何效果的;
设置background图片会填充整个ImageButton,设置src图片会自适应;
Button显示的文本内容推荐保存在strings.xml文件中
onClick事件

监听的三种方式
1.初始化控件;
2.设置监听器;setOnClickListener
3.实现onClick事件。
a.匿名内部类实现;对象.setOnClickListener(new OnCLickListener)
b.独立类实现;对象.setOnClickListener(监听器实例)
c.接口方式。对象.setOnClickListener(this)
1.匿名监听事件

loginButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View argView0) {// TODO Auto-generated method stubSystem.out.println("我的Button被点击了");}});

2.独立事件
loginButton.setOnClickListener(listener);
外部单独:

OnClickListener listener = new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubSystem.out.println("独立实现的类触发了");}};

3.实现接口

public class MainActivity extends Activity implements OnClickListener{loginImageButton.setOnClickListener(this);public void onClick(View v) {// TODO Auto-generated method stubLog.i("tag","第三种方法");}}

实现跑马灯效果
http://www.imooc.com/video/4308
摘自 jiyangxiatian
1.TextView的内容过长时,默认折行

2.跑马灯效果
方法一:(只能实现单个TextView的跑马灯效果)

android:singleLine="true"//只能单行,超出的文字显示为"..."android:ellipsize="marquee"//省略号没有,但没有跑马灯效果android:focusable="true"android:focusableInTouchMode="true"

方法二:
自定义一个类继承TextView,实现默认的三种构造函数,重写sFocused()方法,返回true
在布局文件中将TextView改为(包名+类名)com.imooc.marqueetextviewdemo.MarqueeText

解析:
方法二中两个TextView都能够实现跑马灯效果是因为重写了isFocused()方法返回true,强制让TextView都focused;而方法一中,第一个TextView获得了焦点,而第二个TextView没有获得焦点,无法实现跑马灯效果

问题:
滚动一段时间后会自己停: android:marqueeRepeatLimit="marquee_forever"

Tips:
px,dp(dip),sp
1.在开发中不建议使用px,px不能根据分辨率来进行等比缩放;
2.dp和sp都可以根据分辨率来进行等比缩放;
3.在控件中做长度大小限制时推荐使用dp,sp更多用于显示文字size;
4.在android最新的SDK中推荐使用dp

使用AutoCompleteTextView
http://www.imooc.com/video/1471
摘自 Miss徐
步骤:
1.初始化控件:先声明(private AutoCompleteTextView acTextView;),然后初始化(acTextView=(AutoCompleteTextView)findViewBy(R.id.autoCompleteTextView1);)

2.创建一个适配器
适配输入内容与数据源
ArrayAdapter adapter = new ArrayAdapter(content,resource,objects);
其中:content——this,上下文的一个对象;
resource——android.R.layout.simple_list_item_1(类似于activity_main的xml文件),对应的一个布局
objects——(参数objects是String类型数组的数据源)

3.初始化数据源(数据源去匹配文本框中输入的内容)
private String[ ] res ={“数据1”,”数据2”,”数据3”,”数据4....”};
把他及添加到adapder中去
ArrayAdapter adapter =new ArrayAdapter(this,
android.R.layout.simple_list_item_1,res);

4.将adapter与当前AutoCompleteTextView控件进行绑定
AutoCompleteTextView.setAdapter(ArrayAdapter);

5.在AutoCompleteTextView里面设置一条属性来使输入够3个字符开始匹配
android:completionThreshold = "3"

MultiAntoCompleteTextView

使用MultiAutoCompleteTextView
http://www.imooc.com/video/1473
摘自 理想
MultiAutoCompleteTextView的设置方法与前者类似

第一步:初始化控件
第二步:需要一个适配器
第三步:初始化数据源
第四步:将adpter与控件绑定
第五步:设置分隔符

具体代码实现:
①xml文件
android:id="@+id/mctv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/actv"
android:completionHint="1"
android:hint="请输入联系人名称"/>

②初始化:
private MultiAutoCompleteTextView matv = null;
private String [] res ={"beijin1","shijiad","shins","shag","shanede","shadrfe","shaieuj",
"shaere","shieke","adn","as","ader","sh","sher","shadfd","saf","dfji"};

③具体操作:
/*
* 使用MultiAutoCompleteTextView实现自动提示:
*
* 1.初始化控件,记住findViewById(R.id.**)方法
* 2.需要一个适配器
* 3.初始化数据源-->此数据源去匹配文本框内容
* 4.将Adapter与MultiAutoCompleteTextView绑定,调用setAdapter()方法
* 5.设置输入几个字符后才进行自动提示
* 6.设置分隔符
*
*/

this.matv = (MultiAutoCompleteTextView) findViewById(R.id.mctv);
matv.setAdapter(adapter);

//设置逗号为分隔符,即结束符号
matv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

使用ToggleButton
http://www.imooc.com/video/1612
摘自 Miss徐
ToggleButton默认是off状态
android:textOn=”开”
android:textOff=”关”——用这两个属性来表示界面显示的内容

通过imageview控件来显示图片
android:background="@drawable/off"来给off状态显示off这张图片

在main activity.xml文件中初始化控件
1.先声明:
private ToggleButton tgbt;
private ImageView img;

2.再初始化
tb = (ToggleButton) findViewById(R.id.toggleButton1);
img =(ImageView)findViewById(R.id.imageView1);

3.监听tb这个开关(给当前的tb设置监听器)
先让mainactivityimplements OnCheckChangListener
然后给tb设置监听器
tb.setOnCheckedChangeListener(this);

监听器的方法:
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

当tb被点击的时候当前方法会被执行。
CompoundButton buttonView参数可以判断是哪个tb被点击,buttonView代表被点击的控件本身
boolean isChecked参数是判断tb的状态,isChecked代表被点击的控件的状态

当点击tb的时候要更换图片:
通过img.setBackgroundResource(isChecked?R.drawable.on:R.drawable.off);这个三目运算来实现

使用RadioGroup
http://www.imooc.com/video/1748/0
摘自 不逃课

RadioGroup 属性android:oritentation = "horizontal"/"vertical"
RadionButton 默认被选android:checked = "true"
给RadioGroup增加监听setOnCheckedChangeListener(OnCheckedChangeListener listener);
覆盖方法
public void onCheckedChanged(RadioGroup gropup, int checkedId) {
if (checkedId == R.id.radio0) {//checkedId是R.id
Log.i("tag", "你是男孩");
}else if(checkedId == R.id.radio1){
Log.i("tag", "你是女孩");
}
}

更多相关文章

  1. listview所带来的滑动冲突
  2. android自带的下拉刷新控件SwipeRefreshLayout
  3. 流程图控件GoJS内置GraphObject类各指数介绍(二)
  4. 如何美化android程序:自定义ListView背景
  5. Android(安卓)Viewpager与WebView轮播滑动冲突的解决方案
  6. Android(安卓)性能优化 APM 平台搭建
  7. 使EditText不自动获取焦点(Android中系统输入法不主动弹出)
  8. Android上实现仿IOS弹性ScrollView
  9. 一个方便集成的 Android(安卓)右滑返回上级 控件

随机推荐

  1. android最新源码(4.4.2_r1版本以上)下载
  2. 设置系统超时时间
  3. Android之使用Android-query框架进行开发
  4. Android(安卓)UI开发初阶--期末考试Andro
  5. Android MVP 学习笔记
  6. Android(安卓)4.4 meminfo 实现分析
  7. Android主题配置-基础
  8. 由Android想到的OS manifest机制
  9. 【Android】Android中广播的基本使用
  10. 文章分享:Android四大组件详解