IDE 采用eclipse luna

使用了AbsoluteLayout标签后IDE立即开始警告:“AbsoluteLayout is deprecated”,不赞成使用绝对布局(无视它)

》需要注意

  • 如果看到报错"[Accessibility]Missing conetent description attribute on image"教学中也有出现,无视之
  • Graphical Layout的预览报java.lang错误却常常是xml标签未闭合,检查各标签>和/>
  • <Button />和<TextView />等等,无value内容的标签均可改写为自闭合
  • <EditText />可以从Graphical Layout工具的Palette中TextView分类任意可编辑文本框拖出来
  • <ScrollView></ScrollView>需要闭合标签
  • 手生敲xml注意区分android:@+id/和@id/
  • objname.setOnClickListener不会自动完成,但是在其内部的new View.OnClickListener()可以自动生成重写以及定义onClick函数
  • 熟练使用(tagname)findViewById(R.id.xxx)
  • 书写getText().toString()和setText().toString()

src/com.narumi.absolutelayout/MainActivity.java

 1 package com.narumi.absolutelayout;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.Menu;
 6 import android.view.MenuItem;
 7 import android.view.View;
 8 import android.widget.Button;
 9 import android.widget.EditText;
10
11 public class MainActivity extends Activity {
12
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.activity_main);
17         final Button okButton  = (Button) findViewById(R.id.btnok);
18         final Button cancelButton = (Button) findViewById(R.id.btcel);
19         final EditText uid = (EditText) findViewById(R.id.etuid);
20         final EditText pwd = (EditText) findViewById(R.id.etpwd);
21         final EditText log = (EditText) findViewById(R.id.etres);
22         okButton.setOnClickListener(
23                 new View.OnClickListener() {
24
25                     @Override
26                     public void onClick(View v) {
27                         // TODO Auto-generated method stub
28                         String uidStr = uid.getText().toString();
29                         String pwdStr = pwd.getText().toString();
30                         log.append("用户名:"+uidStr+"密码:"+pwdStr+"\n");
31                     }
32                 } );
33
34         cancelButton.setOnClickListener(
35             new View.OnClickListener() {
36
37                 @Override
38                 public void onClick(View v) {
39                     // TODO Auto-generated method stub
40                     uid.setText("");
41                     pwd.setText("");
42                 }
43             } );
44     }
45
46     @Override
47     public boolean onCreateOptionsMenu(Menu menu) {
48         // Inflate the menu; this adds items to the action bar if it is present.
49         getMenuInflater().inflate(R.menu.main, menu);
50         return true;
51     }
52
53     @Override
54     public boolean onOptionsItemSelected(MenuItem item) {
55         // Handle action bar item clicks here. The action bar will
56         // automatically handle clicks on the Home/Up button, so long
57         // as you specify a parent activity in AndroidManifest.xml.
58         int id = item.getItemId();
59         if (id == R.id.action_settings) {
60             return true;
61         }
62         return super.onOptionsItemSelected(item);
63     }
64 }

下面两个自动生成的方法可以不要:

onCreateOptionsMenu

public boolean onOptionsItemSelected

编辑res/value中的string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">Android_6_3</string><string name="uid">用户名</string><string name="pvd">密码</string><string name="ok">确定</string><string name="cancel">取消</string>
</resources>

编辑res/layout中的activity_main.xml

 1 <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context="com.narumi.absolutelayout.MainActivity" >
10
11     <TextView
12         android:id="@+id/tvuid"
13         android:layout_width="fill_parent"
14         android:layout_height="wrap_content"
15         android:text="@string/uid" />
16
17     <TextView
18         android:id="@+id/tvpwd"
19         android:layout_width="fill_parent"
20         android:layout_height="wrap_content"
21         android:layout_x="21dp"
22         android:layout_y="61dp"
23         android:text="@string/pvd" />
24
25     <EditText
26         android:id="@+id/etuid"
27         android:layout_width="167dp"
28         android:layout_height="wrap_content"
29         android:layout_x="61dp"
30         android:layout_y="-12dp"
31         android:ems="10"
32         android:inputType="text" >
33     </EditText>
34
35     <EditText
36         android:id="@+id/etpwd"
37         android:layout_width="168dp"
38         android:layout_height="34dp"
39         android:layout_x="59dp"
40         android:layout_y="55dp"
41         android:ems="10"
42         android:inputType="numberPassword" >
43     </EditText>
44
45     <ScrollView
46         android:id="@+id/scrollView1"
47         android:layout_width="wrap_content"
48         android:layout_height="wrap_content"
49         android:layout_x="48dp"
50         android:layout_y="144dp" >
51     </ScrollView>
52
53     <EditText
54         android:id="@+id/etres"
55         android:layout_width="wrap_content"
56         android:layout_height="139dp"
57         android:layout_x="31dp"
58         android:layout_y="260dp"
59         android:ems="10"
60         android:inputType="text" >
61
62     </EditText>
63
64     <Button
65         android:id="@+id/btnok"
66         android:layout_width="wrap_content"
67         android:layout_height="wrap_content"
68         android:layout_x="72dp"
69         android:layout_y="175dp"
70         android:text="@string/ok" />
71
72     <Button
73         android:id="@+id/btcel"
74         android:layout_width="wrap_content"
75         android:layout_height="wrap_content"
76         android:layout_x="165dp"
77         android:layout_y="175dp"
78         android:text="@string/cancel" />
79
80 </AbsoluteLayout>

就这么简单,一练结束。

转载于:https://www.cnblogs.com/haimingpro/p/4664101.html

安卓天天练练(一)不讨巧的绝对布局相关推荐

  1. 安卓天天练练(十一)用list绑数据

    之前在练练ListView的时候就有个 BaseAdapter ba = new BaseAdapter() { 用Adapter来绑数据的方法,该方法中 LinearLayout ll=new Li ...

  2. 安卓基础控件(EditText、Button)以及布局(约束布局)的介绍

    安卓基础控件(EditText.Button)以及布局(约束布局)的介绍 目录 一.EditText 代码展示 二.Button 代码展示 三.应用例子 (1)布局代码展示 (2)方法 代码例子 (3 ...

  3. 安卓开发之用RecyclerView做陈列式布局(仿小红书首页/淘宝商品浏览)

    安卓开发之用RecyclerView做陈列式布局 一.使用RecyclerView要先导入recyclerview-v7库 二.在layout文件夹内,新建一个xml文件,编写你要展示的item的样式 ...

  4. 利用安卓天天模拟器进行HBuilder App开发

    HBuilder中右侧自带了内置浏览器,可以实时看到效果,但是对于一些需要调用plus才能显示的效果就无能为力了. 如果用真机进行调试,连接电脑装驱动,每次都得检测,有的手机电脑都检测不到,我的就是- ...

  5. 安卓天天酷跑脚本刷高分图文教程

    http://news.gamedog.cn/a/20130923/241742.html

  6. android java与界面的关联_Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)...

    当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...

  7. android天气时钟设计报告,做一款自己的安卓天气闹钟(1)——首页界面布局

    写在前面 这一次是要结合前面做的一堆爬虫,语音之类的做一个终端的东西,是一款可以显示天气的闹钟APP,自己也是一边做一边学,如果有什么不对的地方欢迎大家指正 先看设计界面 首页界面 中间时间贼丑的字体 ...

  8. Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)...

    当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...

  9. 【安卓开发 】Android初级开发(零)各种布局

    线性布局的重要属性 (LinearLayout) 相关属性链接 layout_width 和 layout_height是布局器相对于外部构件的一个宽高距离. layout_margin是指与外部控件 ...

最新文章

  1. EL:谁说N素含量高就不固氮了(本研究反而“多多益善”)
  2. 基于requests模块的cookie,session和线程池爬取
  3. 我隐藏的Excel工作表 你别想取消
  4. 王某调离岗位后所使用计算机由新到任陈某,2017年沧州事业单位考试模拟卷
  5. gateway坑点:gateway有Controller时会直接处理对应的路径并返回
  6. 还有前景吗_喷码机行业还有前景吗 2021喷码机市场份额有多大
  7. 【LeetCode笔记】6. Z字形变化(JAVA、思路)
  8. php 网站域名怎么更换,教你如何快速给网站更换域名,简单粗暴!
  9. parzen窗估计如何进行结果分析_Parzen窗方法的分析和研究
  10. Open3d之非阻塞可视化
  11. 中南大学oj:1352: New Sorting Algorithm
  12. aix系统vi修改命令_aix系统VI编辑器的操作
  13. Vue中select默认选中下拉选项第一条(举例iview AutoComplete组件)
  14. iAntares OSx86 10.6.5 v3.2 繁简英整合版 安装过程【安装过程问题说明】
  15. 2021react复习
  16. 宏晶微MS2109高清视频采集芯片资料
  17. matlab centralize,智课雅思词汇---二十三、动词性后缀-ate-fy-ish-ize
  18. 计算机丢失msvcr100.dll解决办法,如何解决Msvcr100.dll丢失问题?两种方法可以解决...
  19. 解决外网下载速度过慢问题
  20. “苏宁SAP上线“有感(原)

热门文章

  1. 苹果WWDC 2023发布会总结
  2. java画虚线_画流动虚线框(java) | 学步园
  3. python异步编程案例之Future和Task
  4. 以太坊Web3.js开发基础
  5. 分享一招在线图片合成gif方法,轻松在线做gif图
  6. RSA攻击之Rabin密码体制
  7. 计算机算法设计与分析第四版复习,计算机算法设计与分析(第4版)第1章.ppt
  8. vue3 + typescript + antd-design-vue(3.x)Modal.form()
  9. 工厂设备维修管理软件系统
  10. 用户画像的构建与使用1