【Android】利用Java代码布局,按钮添加点击事件
来源:互联网 发布:怎么联系淘宝在线客服 编辑:程序博客网 时间:2024/05/01 22:27
Android程序不仅可以像《【Android】利用xml文件布局修改Helloworld程序》(点击打开链接)利用xml文件进行布局,也可以利用纯Java代码布局,当然不推荐单单只使用一种布局方式。xml与Java代码布局应该混合存在,正如在网页编程中,html布局与javascript动态控制布局应该是共存的,这里用一个小例子来说明如何用Java代码在Android中进行布局。同时,为按钮添加点击事件。
如下的一个例子:
在JavaLayout这个安卓程序中,有一个横向铺满的按钮,高度同文字高度的按钮。
点击之后出现一个告警框。点击告警框之后,会根据用户点击按钮,设置按钮内的文字。
直接把安卓工程内的MainActivity.java修改成如下的代码,则完成上面的工程:
package com.javalayout;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.util.TypedValue;import android.view.Gravity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.FrameLayout;public class MainActivity extends Activity {public Button button1;// 声明一个按钮组件@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// setContentView(R.layout.activity_main); //不使用activity_main.xml布局FrameLayout frameLayout = new FrameLayout(this);//声明一个帧布局button1 = new Button(this);//创建一个按钮button1.setText("打开模态确定框!");// 设置按钮内的文字button1.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 24);// 设置组件文字大小,单位为DIP,安卓屏幕通用单位LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,//在宽度上铺满父组件ViewGroup.LayoutParams.WRAP_CONTENT);//在高度上仅仅包裹好自己的内容button1.setLayoutParams(params);//把以上的参数应用到button1中button1.setGravity(Gravity.CENTER);// 组件内文字的居中button1.setOnClickListener(new OnClickListener() {//为button1添加点击事件@Overridepublic void onClick(View v) {new AlertDialog.Builder(MainActivity.this)//点击之后将会创建一个告警框.setTitle("系统提示")//告警框标题.setMessage("请点击确定或取消")//告警框内容.setPositiveButton("确定",//告警框的确定按钮new DialogInterface.OnClickListener() {//为告警框的确定按钮的添加点击事件@Overridepublic void onClick(DialogInterface arg0,int arg1) {button1.setText("你点击了确定!");//点击之后修改button1这个组件内的文件}}).setNegativeButton("取消",//取消按钮同理new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface arg0,int arg1) {button1.setText("你点击了取消!");}}).show();//默认点击之后不显示告警框,必须设置其显示}});frameLayout.addView(button1);//将button1加到帧布局frameLayoutsetContentView(frameLayout);// 将帧布局frameLayout放在MainActivity}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}其布局思想如下,非常简单,在一个帧布局下放一个button1。
个人感觉安卓利用java代码布局有javascript的味道,而为按钮添加事件,则由于Jquery一样,可以使用多个点方法.setXX()也就是类成员setter方法,一口气设置大量的东西。
0 0
- 【Android】利用Java代码布局,按钮添加点击事件
- Android开发--为按钮添加点击事件
- 添加按钮点击事件
- Unity用代码给按钮添加点击事件
- Android学习二 布局和按钮点击事件
- android 按钮点击事件
- Android按钮点击事件
- Android按钮点击事件
- android studio 添加按钮点击事件的三种方法
- android防止按钮多次点击和添加双击事件
- android 点击事件 按钮事件
- android中用代码触发一个按钮的点击事件
- LinearLayout 点击事件 添加点击事件代码
- android 点击返回按钮事件
- android的按钮点击事件
- android按钮的点击事件
- 利用Java代码给gridLayout动态添加button按钮
- iOS移动中按钮添加点击事件
- java反射机制
- Centos6.5学习之添加用户
- 提高第39课时,实践2,项目2-动态数组排序
- poj(2676)——Sudoku
- 第十一周项目2-储存班长信息的学生类
- 【Android】利用Java代码布局,按钮添加点击事件
- rust实现《一个典型的生产者和消费者的题目和实现》和rust使用感想
- BinarySearch的java语言实现
- (五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Mysql安装
- Docker解析及轻量级PaaS平台演练(三)--Dockerfile编写
- 我的第一个汇编语言程序:HelloWorld
- vim学习笔记
- 会员卡管理系统技术解析(十三)库存卡作废记录查询
- 中国式教育-虎妈猫爸给我的启发