【实验】电话拨号、动态添加按钮
2015-10-23 15:11
253 查看
MainActivity2:
xml:
package com.example.lab2; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.view.Gravity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.GridLayout; import android.widget.GridLayout.LayoutParams; import android.widget.GridView; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; public class MainActivity2 extends Activity { Context context; GridLayout gl; Button btn; String temp; TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); init(); //初始化 int count=1; final Button[] btn = new Button[30]; for(int i=0;i<5;i++) for(int j=0;j<3;j++) { System.out.println("count:"+count); btn[i*3 + j] = new Button(this); btn[i*3 + j].setWidth(100); switch(i*3 + j) { case 9:btn[i*3 + j].setText("*"); break; case 10:btn[i*3 + j].setText("0"); break; case 11:btn[i*3 + j].setText("#"); break; case 12:btn[i*3 + j].setText("清除"); break; case 13:btn[i*3 + j].setText("拨打"); break; case 14:btn[i*3 + j].setText("返回"); break; default:btn[i*3 + j].setText(String.valueOf(count)); break; } count++; GridLayout.Spec rowSpec = GridLayout.spec(i); //设置它的行和列 GridLayout.Spec columnSpec=GridLayout.spec(j); GridLayout.LayoutParams params=new GridLayout.LayoutParams(rowSpec,columnSpec); params.setGravity(Gravity.LEFT); gl.addView(btn[i*3 + j],params); final int number = i*3+j; OnClickListener listener = new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub String num=""; switch(number) { case 9: num = "*"; temp = tv.getText().toString(); tv.setText(temp + num); break; case 10: num = "0"; temp = tv.getText().toString(); tv.setText(temp + num); break; case 11: num = "#"; temp = tv.getText().toString(); tv.setText(temp + num); break; case 12: tv.setText(""); break; case 13: String PhoneNumber = tv.getText().toString(); Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + PhoneNumber)); startActivity(intent); break; case 14: int len = tv.getText().toString().length(); String substr = tv.getText().toString().substring(0, len-1); tv.setText(substr); break; default: num = String.valueOf(number+1); temp = tv.getText().toString(); tv.setText(temp + num); break; } //Toast.makeText(MainActivity2.this, "num", Toast.LENGTH_SHORT); } }; btn[number].setOnClickListener(listener); } } public void init() { gl = (GridLayout)findViewById(R.id.gl); context = MainActivity2.this; tv = (TextView)findViewById(R.id.tv); } }
xml:
<LinearLayout 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:orientation="vertical" > <TextView android:id="@+id/tv" android:maxLines="2" android:textSize="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <GridLayout android:id="@+id/gl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="3" android:rowCount="5" ></GridLayout> </LinearLayout>
相关文章推荐
- 第一章 用记事本搭建C#程序
- ecshop商品-》购买记录
- poj 1840hash
- ubuntu 配置R语言环境
- Xcode如何打包ipa安装包
- codeforces568E.Longest Increasing Subsequence
- JQuery validation源码解析
- Unity Alpha融合参数(便查)
- how to use ldid
- hist 绘制直方图函数
- 【UIViewController界面传值】
- DOS批处理枚举所有盘符 和 fsutil命令查看文件系统
- tomcat内存溢出设置JAVA_OPTS
- 阮一峰的网络日志 ---技术博客
- 用面向对象的思维方式来设计数据库
- 类.对象.方法
- hiho 1 最长回文子串
- iOS---开发时间戳与时间,时区的转换,汉字与UTF8,16进制的转换
- 老李分享:QTP的录制原理以及实现
- Java编程中void方法的学习教程