編輯:關於Android編程
MainActivity.java 主頁面
activity_main.xml 主頁面布局
zhuce_Activity.java 注冊頁面
zhuce_layout.xml 注冊頁面布局


APP_LogIn/AndroidManifest.xml 這裡有一句代碼,加入注冊頁面
zhuce_Activity.java
package com.example.app_login;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class zhuce_Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// 去掉頁面的標題欄
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.zhuce_layout);
}
}
activity_main.xml 主頁面布局
MainActivity.java 主頁面
Intent
參數 :當前界面,要跳轉的界面
package com.example.app_login;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
//Activity 一個activity相當於一個實現界面,一個現實界面需要一個顯示界面
public class MainActivity extends Activity {
private EditText ed_01;
private EditText ed_02;
private TextView tv_03;
private Button btn_01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 去掉頁面的標題欄
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
// 設置當前的顯示視圖
setContentView(R.layout.activity_main);
// 方法的調用,查找布局上所有的ID控件
FindView();
//點擊注冊界面的方法
tv_03.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//頁面跳轉
//兩個參數:當前界面,要跳轉的界面
Intent intent=new Intent(MainActivity.this,zhuce_Activity.class);
startActivity(intent);
}
});
// 按鈕的點擊事件監聽
btn_01.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 判斷用戶是否輸入賬號
// .trim()去除一個String字符串的前後空格
String stg_01 = ed_01.getText().toString().trim();// 獲取輸入框中的內容
String stg_02 = ed_02.getText().toString().trim();
if (stg_01.length() <= 0) {
// 輸入框的錯誤提示
ed_01.setError("您沒有輸入賬號");
return;// 返回當前操作,不繼續進行
}
if (stg_02.length() <= 0) {
ed_02.setError("您沒有輸入密碼");
return;// 返回擋牆操作,不繼續進行
}
// 給定一個默認的賬號密碼
if (stg_01.equals("123") && stg_02.equals("321")) {
Toast.makeText(MainActivity.this, "登錄成功", 1).show();
} else {
Toast.makeText(MainActivity.this, "登錄失敗,清空數據", 1).show();
// 清空輸入框內容
ed_01.setText("");
ed_02.setText("");
}
}
});
}
private void FindView() {
ed_01 = (EditText) this.findViewById(R.id.ed_01);
ed_02 = (EditText) this.findViewById(R.id.ed_02);
tv_03 = (TextView) this.findViewById(R.id.tv_03);
// ctrl +shift+o 快速導包
btn_01 = (Button) this.findViewById(R.id.btn_01);
}
@Override
public 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;
}
}
zhuce_layout.xml 注冊頁面布局
Binder IPC的權限控制詳細教程
基於Android 6.0的源碼剖析, 分析Binder IPC通信的權限控制方法clearCallingIdentity和restoreCallingId
Android 紋理定距離移動
效果圖:右邊的文字欄上下移動,沒有文字會自動停止移動。這和之前我寫的紋理移動不同,之前的是循環移動,這次是定位移動。頂點著色器: uniform mat4 uM
自定義控件(二)
多點觸控事件簡單介紹最關鍵的是onTouchEvent這個方法明天應該就會繼續介紹比這要更加多的於事件相關的,比如事件分發等,今天是簡單的事件,不多說,如下:單指 4個動
chromium for android v34 2dcanvas硬件渲染實現分析
這篇接著上一篇2dcanvas硬件繪制,分析保存繪制結果的texture被合成到on screen framebuffer上的過程。 1.webkit為canvas元素對