zoukankan      html  css  js  c++  java
  • Android之activity初讲

      前天我们已经成功创建了第一个Android项目,如果我要把软件推荐给我的第一个用户,毫无疑问是从界面开始介绍。因为即使你的程序算法再高效,架构再出色,用户根本不会在乎这些,他们一开始只会对看到的东西感兴趣,今天我们就学习了如何更换布局(layout)。

     当然今天主要讲的还是 activity 页面中 Button 按钮的一个点击事件。在 java 中 点击事件弹出消息直接在 js 中 写 alter 即可。但是在 Android 中没那么简单。昨天我们学习了 java 的内部类。在 Android 点击事件中,我们主要使用的是 匿名内部类( anonymous inner class)

      因为布局(layout)属于资源文件,所以我们直接在res—>layout—>右键—>new—>others—>Android—>Android XML Layout File —> next—>填写layout名称—>Finish

    下面给我们新new出的test1.xml部署一个button组件

     复制我们所添加组件的id

    • android:layout_width 指定了当前元素的宽度
    • android:layout_height 指定了当前元素的高度  
    • android:text 指定了元素中显示的文字内容
    • wrap_content 表示当前元素的宽、高度只要能刚好包含里面的内容就行 

    现在点击按钮没有任何的效果,因为我们还没有写事件,接下来就为按钮button1添加事件,有两种方法

    1、MainActivity.java中添加匿名内部类

    2、另写一个activity,然后再MainActivity.java中配置

    通常情况下不建议在MainActivity.java写匿名内部类,因为所有的组键在MainActivity.java配置不好分析逻辑结构

     下面是第二种方法MainActivity.java中写的配置及匿名内部类的注释

     1 package com.example.helloworld;
     2 
     3 import android.content.Context;
     4 import android.view.View;
     5 import android.view.View.OnClickListener;
     6 import android.widget.Toast;
     7 
     8 public class Btn1ClickListener implements OnClickListener{
     9     
    10         private Context context;
    11         
    12         public Btn1ClickListener(Context c) {
    13             this.context  = c;
    14         }
    15         
    16         @Override
    17         public void onClick(View arg0) {
    18             Toast.makeText(context, "你很好 Android 1班", Toast.LENGTH_LONG).show();
    19         }
    20     
    21 }
     1 package com.example.helloworld;
     2 
     3 
     4 import android.app.Activity;
     5 import android.os.Bundle;
     6 import android.view.View;
     7 import android.view.View.OnClickListener;
     8 import android.widget.Button;
     9 import android.widget.Toast;
    10 
    11 public class MainActivity extends Activity {
    12     
    13      private Button btn1;
    14     @Override
    15     protected void onCreate(Bundle savedInstanceState) {
    16         super.onCreate(savedInstanceState);
    17        // setContentView(R.layout.activity_main);
    18        // TextView tv1 = (TextView) this.findViewById(R.id.textView1);
    19       //  tv1.setText("你好,Android 1班");
    20         
    21         
    22         this.setContentView(R.layout.test);//布局layout名称
    23         btn1 = (Button) findViewById(R.id.button1);//组件所代表的id
    24         btn1.setText("点我咯");
    25         
    26         
    27         btn1.setOnClickListener(new Btn1ClickListener(this));//尽可能减少new代码,交给容器(后加Spring框架
    28         
    29        /* btn1.setOnClickListener(new OnClickListener(){
    30             //匿名内部类
    31             public void onClick(View v){
    32                 
    33                 Toast.makeText(MainActivity.this, "你好 Android 1班", Toast.LENGTH_LONG).show();
    34             
    35             }
    36         });*/
    37     }
    38 }

    下面运行看看我们的成果吧

    今天小主用的是夜神模拟器

     菜鸟一枚的我,还在Android路上努力奔跑,各位大神多多指教喔!

  • 相关阅读:
    Go语言操作etcd
    grafana使用
    Java整理
    Go操作MySQL
    Go语言操作Redis
    es
    influxDB
    gopsutil
    Java基础之(三):IDEA的安装及破解 lyl
    ClojureScript 点访问格式
  • 原文地址:https://www.cnblogs.com/lgk1002/p/6075317.html
Copyright © 2011-2022 走看看