安卓天天练练(一)不讨巧的绝对布局

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值