android学习笔记(九)

一、EditText实现输入表情图像

android学习笔记(九)

SpannableString span=new SpannableString("d");
ImageSpan ims=new ImageSpan(BitmapFactory.decodeResource(getResources(), R.drawable.haha));
span.setSpan(ims, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
edt.append(span);

BitmapFactory.decodeResource()获取图片信息

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)


二、 EditText特定字符限制与校验

android:digits="abc" 只能输入小写abc

android:inputType="number" 只能输入数字

CharSequence s1=edt.getText();
//android提供了检验字符串是否为空 TextUtils.isEmpty(s1)
if(TextUtils.isEmpty(s1)){
edt.setError("不能为空");
}


三、 AutoCompleteTextView自动输入

android学习笔记(九)

Adapter适配器,我们这里用的是ArrayAdapter

 auto=(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
 String[] arr={"you","you bad bad","I Love"};
 ArrayAdapter<String> adapt=new ArrayAdapter<String>(this, R.layout.layout_one, arr);
 auto.setAdapter(adapt);


四、Button的常用事件

public class MainActivity extends Activity implements OnClickListener,OnTouchListener,OnFocusChangeListener{
private Button btn1;
private Button btn2;
private int value=1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn1=(Button) findViewById(R.id.button1);
        btn2=(Button) findViewById(R.id.button2);
        btn1.setOnClickListener(this);
        btn2.setOnClickListener(this);
        btn2.setOnTouchListener(this);
        btn2.setOnFocusChangeListener(this);
    }
    //这里完成点击Button,Button的图标随着便大便小
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Button bt=(Button)v;
int width=getWindow().getWindowManager().getDefaultDisplay().getWidth();
if(value==1&&bt.getWidth()>=width){
value=-1;
}else if(value==-1&&bt.getWidth()<100){
value=1;
}
bt.setWidth(bt.getWidth()+(int)(bt.getWidth()*0.1)*value);
bt.setHeight(bt.getHeight()+(int)(bt.getHeight()*0.1)*value);
}
//触摸事件,触摸 Button 变换Button的样式
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action =event.getAction();
if(action==MotionEvent.ACTION_DOWN){
btn2.setBackgroundResource(R.drawable.chushi);
}else if(action==MotionEvent.ACTION_UP){
btn2.setBackgroundResource(R.drawable.bianhua);
}
//返回false 表示没有处理此事件 。返回true证明除了了此事件,如果事件被处理就不会回调其他的事件监听
return false;
}
//焦点事件
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if(hasFocus){
btn2.setBackgroundResource(R.drawable.chushi);
}else{
btn2.setBackgroundResource(R.drawable.bianhua);
}
}
    
}


五、ImageView

android:maxWidth=""

android:maxHieght=""

这两个属性要跟android:adjustViewBounds=""一起用,否则没有效果

android:scaleType="" 这个属性可以让图片如何缩放 ,和缩放后的位置

你可能感兴趣的:(android学习笔记(九))