Android常使用的控件
来源:互联网 发布:linux 下载wget安装包 编辑:程序博客网 时间:2024/05/18 00:07
TextView控件
第一:界面android xml文件直接进行赋值
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TextViewandroid:id="@+id/txtOne"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" /><TextViewandroid:id="@+id/txtTwo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="hello_world 直接显示" /></RelativeLayout>
代码中的灰色代码就是赋值的方式,txtOne是利用资源文件夹中的res—values—strings.xml中来赋值
strings.xml代码如下:
<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">Demo1</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string></resources>
这样就可以现在手机屏幕显示出 hello world、hello world 直接显示 的字符串了。
第二:java代码后台实现
TextView txtOne,txtTwo; @Override protected void onCreate(Bundle savedInstanceState) {//每个Activity创建的时候的入口函数 super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtOne=(TextView)this.findViewById(R.id.txtOne); //根据id获取到控件 txtTwo=(TextView)this.findViewById(R.id.txtTwo); txtOne.setText("这个是给txtOne赋值"); txtOne.setText("这个是给txtTwo赋值"); }
这样运行后,手机上就会显示 这个是给txtOne赋值,这个是给txtTwo赋值 两个字符串
Button控件
一:监听事件
上面的TextView中介绍了对控件的显示值的控制,Button和TextView的显示值和它一样,下面我直接进行事件的监听演示
界面的xml代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/btnDemo" android:text="按钮一" /></LinearLayout>
java端代码:
Button btnDemo; @Override protected void onCreate(Bundle savedInstanceState) {//每个Activity创建的时候的入口函数 super.onCreate(savedInstanceState); btnDemo=(Button)this.findViewById(R.id.btnDemo); btnDemo.setOnClickListener(new OnClickListener()); //添加按钮的监听事件,这里是实例化一个实现接口OnClickListener的类 } private class OnClickListener implements android.view.View.OnClickListener{ @Override public void onClick(View arg0) { // TODO Auto-generated method stub if(arg0==btnDemo){ Toast.makeText(MainActivity.this, "你点击了按钮", Toast.LENGTH_LONG).show(); //这个一个对话框,用的范围也比较多 //参数1:Context,参数2:弹出框的显示文本 参数3:显示的形式 } } }
ListView控件
首先建立一个xml文件 list_item.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@+id/txtID" android:layout_width="120px" android:layout_height="wrap_content" /> <TextView android:id="@+id/txtName" android:layout_width="120px" android:layout_height="wrap_content" /> <Button android:id="@+id/btnShow" android:layout_width="120px" android:layout_height="wrap_content" android:text="显示姓名" /></LinearLayout>
再建一个 listview.xml文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/lv" android:layout_width="fill_parent" android:layout_height="wrap_content" ></ListView></LinearLayout>
创建一个PersonBean的用来当做源数据
import java.util.ArrayList;import java.util.List;public class PersonBean { private int ID; private String Name; public int getID() { return ID; } public void setiD(int ID) { this.ID = ID; } public String getName() { return Name; } public void setName(String name) { this.Name = name; } public static List<PersonBean> GetData() { List<PersonBean> list=new ArrayList<PersonBean>(); for (int i = 0; i < 10; i++) { PersonBean personBean=new PersonBean(); personBean.ID=i; personBean.Name="ulimate"+i; list.add(personBean); } return list; }}
自定义个适配器,用来当做绑定listview的桥梁
import java.util.List;import java.util.Map;import android.R.layout;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class MyAdapter extends BaseAdapter { private LayoutInflater mInflater; //用来实例化布局 private List<Map<String, Object>> list; //数据源 Context context; /** * 构造函数 * @param context * @param list * @param LayoutID * @param flag * @param ItemIDs */ public MyAdapter(Context context,List<Map<String, Object>> list){ this.mInflater=LayoutInflater.from(context); this.list=list; this.context=context; } @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } /** * * @param postion 绘制的行数 * @param convertView listview每一行的布局 * @param parent view的集合,不设置就为null */ @Override public View getView(int postion, View convertView, ViewGroup parent) { if(convertView==null){ convertView=mInflater.inflate(R.layout.list_item, null); //将布局的通过mInflater实例化为一个view } final TextView txtID=(TextView)convertView.findViewById(R.id.txtID); //获取list_item.xml中的txtid控件 txtID.setText(list.get(postion).get("ID").toString()); //赋值 final TextView txtName=(TextView)convertView.findViewById(R.id.txtName);//获取list_item.xml中的txtname控件 txtName.setText(list.get(postion).get("Name").toString());//赋值 final Button btnShow=(Button)convertView.findViewById(R.id.btnShow);//获取list_item.xml中的btnDemo控件 btnShow.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub if(arg0==btnShow){ Toast.makeText(context, txtID.getText()+":"+txtName.getText(), Toast.LENGTH_LONG).show(); } } }); return convertView; }}
这样我们就做好了所有的准备,下面在Activity里面加入下面代码就可以实现listview的绑定,且每行按钮的点击事件
private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) {//每个Activity创建的时候的入口函数 super.onCreate(savedInstanceState); MyAdapter myAdapter=new MyAdapter(this, getData()); setContentView(R.layout.listview); lv=(ListView)this.findViewById(R.id.lv); lv.setAdapter(myAdapter); } /** * 获取数据 * @return */ private List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); //定义一个变量 List<PersonBean> listPerson=PersonBean.GetData(); //获取数据 for (PersonBean personBean : listPerson) { Map<String, Object> map = new HashMap<String, Object>(); map.put("ID", personBean.getID()); map.put("Name", personBean.getName()); list.add(map); } return list; }
- Android常使用的控件
- Android常使用的控件(下)
- Android常使用的控件(中)
- Android常使用的控件(上)
- 常使用的android网址
- Android中常常使用shape来定义控件的一些显示属性
- android中常常使用shape来定义控件的一些显示属性
- Android中常常使用shape来定义控件的一些显示属性
- 广告条目的android代码,常使用
- android studio常使用的插件
- Android优化常使用的工具
- Android常使用倒计时
- Android问题关于Button控件在布局中正常顺序出现的遮盖其他控件
- 常使用的快捷键
- 常使用的正则
- 常使用的链接
- Android保持屏幕常亮,PowerManager.WakeLock的使用
- android studio 使用以及常出现的问题
- Linux下MySQL数据库常用基本操作
- ajax中的get和post说明
- IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
- 回调函数应用
- [Audio] Android音频数据传输
- Android常使用的控件
- 关于GenericServlet和HttpServlet
- db2和oracle中的树查询(递归查询)语句-
- Climbing Stairs
- 项目2
- poj2546 求两个圆相交的面积
- servlet容器对url的匹配过程
- poj1160 Post Office
- oracle游标相关