Android学习笔记(四)Android 组件

简介:

EditText和setOnKeyListener事件实现文本处理 


 

复制代码
package com.example.test12;

import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class MainActivity extends Activity {

    private TextView text;
    private EditText edit;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        text=(TextView)findViewById(R.id.textView1);
        edit=(EditText)findViewById(R.id.editText1);
        
        edit.setOnKeyListener(editlistener);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    View.OnKeyListener editlistener=new View.OnKeyListener() {
        
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            text.setText(edit.getText());
            return false;
        }
    };
}
复制代码

 

带背景图片的按钮


 

 

  使用ImageButton来实现带背景图片的按钮。

  OnFocusChangeListener焦点变化监听

  ImageButton.setImageResourse()用来指定按钮的背景颜色

复制代码
package com.example.test13;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class MainActivity extends Activity {

    private TextView tv;
    private ImageButton ibt;
    private Button bt;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        tv=(TextView)findViewById(R.id.textView1);
        ibt=(ImageButton)findViewById(R.id.imageButton1);
        bt=(Button)findViewById(R.id.button1);
        
        ibt.setOnFocusChangeListener(focusChange);
        bt.setOnClickListener(clicked);
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    
    View.OnFocusChangeListener focusChange=new View.OnFocusChangeListener() {
        
        public void onFocusChange(View v, boolean hasFocus) {
            // TODO Auto-generated method stub
            if(hasFocus){
                tv.setText("Got Focus!!!");
                ibt.setImageResource(R.drawable.image1);
            }
            else{
                tv.setText("Lost Focus!!!");
                ibt.setImageResource(R.drawable.image2);
            }
        }
    };
    
    View.OnClickListener clicked=new View.OnClickListener() {
        
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(tv.getText()=="Got Focus!!!"){
                tv.setText("Lost Focus!!!");
                ibt.setImageResource(R.drawable.image2);
            }
            else{
                tv.setText("Got Focus!!!");
                ibt.setImageResource(R.drawable.image1);
            }
        }
    };   
}
复制代码

 

Toast实现提示条(Toast总结)


 

Toast.makeText()让文字显示与Toast对象中,会显示一段时间后自动消失。

Toast.makeText(
    MainActivity.this,
    "这个是Toast.makeText提示",
    Toast.LENGTH_LONG).show();

 

CheckBox和RadioButton复选框


 

  通过CheckBox.setOnCheckedChangeLister来监听CheckBox

 

相框的实现


 

可以通过ImageButton和ImageView来实现,推荐ImageButton,它可以直接添加点击监听

java.io.File实现文件搜索


 

在JAVA I/O的API中,提供了java.io.File对象。

复制代码
package com.example.test14;

import java.io.File;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.support.v4.app.NavUtils;

public class MainActivity extends Activity {

    private TextView result;
    private Button bt;
    private EditText edit;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        result=(TextView)findViewById(R.id.textView2);
        bt=(Button)findViewById(R.id.button1);
        edit=(EditText)findViewById(R.id.editText1);
        
        bt.setOnClickListener(new Button.OnClickListener() {
            
            public void onClick(View v) {
                // TODO Auto-generated method stub
                String keyword=edit.getText().toString();
                if(keyword.equals("")){
                    Toast.makeText(
                            MainActivity.this,
                            "不能为空!",
                            Toast.LENGTH_LONG).show();
                }
                else{
                    result.setText(searchFile(keyword));
                }
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    private String searchFile(String Keyword){
        String searchResult="";
        File[] files=new File("/").listFiles();
        for(File f:files){
            if(f.getName().indexOf(Keyword)>=0)
                searchResult+=f.getPath()+"\n";// \n换行
        }
        if(searchResult.equals(""))
            searchResult="找不到文件!!!!";
        return searchResult;
    }
}
复制代码

 

 

 

 

 

 

 

 

知识共享许可协议
本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012

相关文章
|
2月前
|
设计模式 Android开发
[Android 四大组件] --- BroadcastReceiver
[Android 四大组件] --- BroadcastReceiver
33 0
|
3月前
|
Android开发 开发者
什么是Android Jetpack,它包括哪些组件?
什么是Android Jetpack,它包括哪些组件?
41 0
|
4月前
|
数据库 Android开发
Android Studio开发之应用组件Application的讲解及实战(附源码,通过图书管理信息系统实战)
Android Studio开发之应用组件Application的讲解及实战(附源码,通过图书管理信息系统实战)
49 0
|
4月前
|
XML Java Android开发
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
78 0
|
12天前
|
存储 数据库 Android开发
构建高效安卓应用:采用Jetpack架构组件优化用户体验
【4月更文挑战第12天】 在当今快速发展的数字时代,Android 应用程序的流畅性与响应速度对用户满意度至关重要。为提高应用性能并降低维护成本,开发者需寻求先进的技术解决方案。本文将探讨如何利用 Android Jetpack 中的架构组件 — 如 LiveData、ViewModel 和 Room — 来构建高质量的安卓应用。通过具体实施案例分析,我们将展示这些组件如何协同工作以实现数据持久化、界面与逻辑分离,以及确保数据的即时更新,从而优化用户体验并提升应用的可维护性和可测试性。
|
2月前
|
数据可视化 Android开发
[Android 四大组件] --- Service
[Android 四大组件] --- Service
24 0
|
2月前
|
Android开发
[Android 四大组件] --- Activity
[Android 四大组件] --- Activity
22 1
|
2月前
|
存储 数据库 Android开发
安卓四大组件是什么?
安卓四大组件是什么?
|
3月前
|
数据库 Android开发 开发者
Android基础知识:什么是Android应用的四大组件?
Android基础知识:什么是Android应用的四大组件?
62 1
|
4月前
|
XML 安全 Java
Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)
Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)
40 0