资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

登录界面android,登录界面的代码

android登录界面

用户和密码前面的图标 可以使用android:drawLeft

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站建设、武进网络推广、微信小程序定制开发、武进网络营销、武进企业策划、武进品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供武进建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

“登录”是定义一个TextView, 设置android:text属性,“前面的箭头”找美工做图片

android开发登录界面怎么写

如果上图所示,就是简单的登录界面了。andord的布局真的是,真的是,哪个。难以掌握的东西,哈,不过一旦了解深入点,又让人爽的不行,流式布局总是比起windows mobile的绝对布局简单而且容易控制。我是越来越倾向于流式布局的方式了,它的一点好处是适应设备时比较灵巧,wm使用了自适应dpi的方式,哪叫一个复杂啊,切不易于控制。

布局的属性 android:layout_width="fill_parent" ,指示了填充父区域,就是父容器有多大空间,就填充多大空间。android:layout_width="wrap_content",指示了它本身需要多大空间,就像父容器索取多大的空间,怎么说呢,就是它有多胖就占多大空。而哪个fill_parent就是不胖也全占满了。

再说android:layout_weight="0.1",这个weight(重量)是个很有意思的东西。可为一个父容器的 “子控件们”设置这个重量属性,父容器根据这个重量的多少择情分给这些子控件们多大空间。同时这个属性还与子控件 宽高属性的显示(fill_parent 或者wrap_content)模式有关。

代码如下:

?xml version="1.0" encoding="utf-8"?

LinearLayout xmlns:android=""

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="@drawable/images1"

LinearLayout android:id="@+id/LinearLayout01"

android:layout_width="fill_parent"

android:layout_weight="0.9"

android:layout_height="fill_parent"

/LinearLayout

LinearLayout android:layout_width="fill_parent"

android:id="@+id/LinearLayout02"

android:layout_weight="0.1"

android:orientation="vertical"

android:layout_height="fill_parent"

LinearLayout android:id="@+id/LinearLayout03" android:layout_width="wrap_content" android:layout_height="wrap_content"/LinearLayout

LinearLayout

android:layout_marginLeft="10px"

android:layout_marginRight="10px"

android:gravity="center"

android:layout_width="fill_parent"

android:id="@+id/LinearLayout_account"

android:orientation="horizontal"

android:layout_height="wrap_content"

 TextView android:textSize="12pt" android:id="@+id/lblAccount"

  android:text="@string/accountName"

  android:layout_weight="0.75"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"/TextView

 

 EditText

 android:layout_weight="0.25"

  android:layout_width="fill_parent"

 android:text="mailto:%22nbsp;%20android:id=%22@+id/editBoxAccount" android:layout_height="wrap_content"/EditText

 

/LinearLayout

LinearLayout

android:layout_marginLeft="10px"

android:layout_marginRight="10px"

android:gravity="center"

android:layout_width="fill_parent"

android:orientation="horizontal"

android:layout_height="wrap_content"

 TextView android:textSize="12pt" android:id="@+id/lblPassword"

  android:text="@string/password"

  android:layout_weight="0.75"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"/TextView

 

 EditText

 android:layout_weight="0.25"

  android:layout_width="fill_parent"

  android:password="true"

 android:text="mailto:%22nbsp;%20android:id=%22@+id/editBoxPassword" android:layout_height="wrap_content"/EditText

 

/LinearLayout

LinearLayout

android:layout_marginLeft="10px"

android:layout_marginRight="10px"

android:gravity="center"

android:layout_width="fill_parent"

android:orientation="horizontal"

android:layout_height="wrap_content"

Button android:text="登录"

android:textSize="9pt"

android:id="@+id/btnLogin" android:layout_width="fill_parent"

android:layout_height="wrap_content"/Button

/LinearLayout

/LinearLayout

/LinearLayout

如何设计android的登录界面

在网上在到一个登录界面感觉挺不错的,给大家分享一下~先看效果图:

这个Demo除了按钮、小猫和Logo是图片素材之外,其余的UI都是通过代码实现的。

?

一、背景

背景蓝色渐变,是通过一个xml文件来设置的。代码如下:

background_login.xml

?xml version="1.0" encoding="utf-8"?

shape xmlns:andro

gradient

android:startColor="#FFACDAE5"

android:endColor="#FF72CAE1"

android:angle="45"

/

/shape

startColor是渐变开始的颜色值,endColor是渐变结束的颜色值,angle是渐变的角度。其中#FFACDAE5中,FF是Alpha值,AC是RGB的R值,DA是RGB的G值,E5是RGB的B值,每个值在00~FF取值,即透明度、红、绿、蓝有0~255的分值,像要设置具体的颜色,可以在PS上的取色器上查看设置。

?

?

二、圆角白框

效果图上面的并不是白框,其实框是白色的,只是设置了透明值,也是靠一个xml文件实现的。

background_login_div.xml

?xml version="1.0" encoding="UTF-8"?

shape xmlns:andro

solid android:color="#55FFFFFF" /

!-- 设置圆角

注意: bottomRightRadius是左下角而不是右下角  bottomLeftRadius右下角--

corners android:topLeftRadius="10dp" android:topRightRadius="10dp"

android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp"/

/shape

?

三、界面的布局

界面的布局挺简单的,就直接贴代码啦~

login.xml

?xml version="1.0" encoding="utf-8"?

LinearLayout

xmlns:andro

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="@drawable/background_login"

!-- padding 内边距   layout_margin 外边距

android:layout_alignParentTop 布局的位置是否处于顶部 --

RelativeLayout

   android:

   android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:padding="15dip"        

  android:layout_margin="15dip"

  android:background="@drawable/background_login_div_bg"

!-- 账号 --

  TextView

  android:

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:layout_alignParentTop="true"

  android:layout_marginTop="5dp"

  android:text="@string/login_label_username"

  /

  EditText

  android:

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:hint="@string/login_username_hint"

  android:layout_below="@id/login_user_input"

  android:singleLine="true"

  android:inputType="text"/

   !-- 密码 text --

   TextView

    android:

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_below="@id/username_edit"

    android:layout_marginTop="3dp"

    android:text="@string/login_label_password"

    /

   EditText

    android:

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:layout_below="@id/login_password_input"

    android:password="true"

    android:singleLine="true"

    android:inputType="textPassword" /

   !-- 登录button --

   Button

    android:

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_below="@id/password_edit"

    android:layout_alignRight="@id/password_edit"

    android:text="@string/login_label_signin"

    android:background="@drawable/blue_button" /

/RelativeLayout

RelativeLayout

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

TextView  android:

    android:text="@string/login_register_link"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_marginLeft="15dp"

    android:textColor="#888"

    android:textColorLink="#FF0066CC" /

ImageView android:

   android:src="@drawable/cat"

   android:layout_width="wrap_content"

   android:layout_height="wrap_content"

   android:layout_alignParentRight="true"

   android:layout_alignParentBottom="true"

   android:layout_marginRight="25dp"

   android:layout_marginLeft="10dp"

   android:layout_marginBottom="25dp" /

ImageView android:src="@drawable/logo"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_toLeftOf="@id/miniTwitter_logo"

android:layout_alignBottom="@id/miniTwitter_logo"

android:paddingBottom="8dp"/

/RelativeLayout

/LinearLayout

怎么用android写登录界面

主要的代码:

1、用户类User

view sourceprint?

01.package com.example.logindemo;

02.

03.import org.json.JSONException;

04.import org.json.JSONObject;

05.import android.util.Log;

06.

07.public class User {

08. private String mId;

09. private String mPwd;

10. private static final String masterPassA class=keylink href="" target=_blankword/A = "FORYOU"; // AES加密算法的种子

11. private static final String JSON_ID = "user_id";

12. private static final String JSON_PWD = "user_pwd";

13. private static final String TAG = "User";

14.

15. public User(String id, String pwd) {

16. this.mId = id;

17. this.mPwd = pwd;

18. }

19.

20. public User(JSONObject json) throws Exception {

21. if (json.has(JSON_ID)) {

22. String id = json.getString(JSON_ID);

23. String pwd = json.getString(JSON_PWD);

24. // 解密后存放

25. mId = AESUtils.decrypt(masterPassA class=keylink href="" target=_blankword/A, id);

26. mPwd = AESUtils.decrypt(masterPassword, pwd);

27. }

28. }

29.

30. public JSONObject toJSON() throws Exception {

31. // 使用AES加密算法加密后保存

32. String id = AESUtils.encrypt(masterPassword, mId);

33. String pwd = AESUtils.encrypt(masterPassword, mPwd);

34. Log.i(TAG, "加密后:" + id + " " + pwd);

35. JSONObject json = new JSONObject();

36. try {

37. json.put(JSON_ID, id);

38. json.put(JSON_PWD, pwd);

39. } catch (JSONException e) {

40. e.printStackTrace();

41. }

42. return json;

43. }

44.

45. public String getId() {

46. return mId;

47. }

48.

49. public String getPwd() {

50. return mPwd;

51. }

52.}

2、保存和加载本地User列表

view sourceprint?

01.package com.example.logindemo;

02.

03.import java.io.BufferedReader;

04.import java.io.FileInputStream;

05.import java.io.FileNotFoundException;

06.import java.io.IOException;

07.import java.io.InputStreamReader;

08.import java.io.OutputStream;

09.import java.io.OutputStreamWriter;

10.import java.io.Writer;

11.import java.util.ArrayList;

12.import org.json.JSONArray;

13.import org.json.JSONException;

14.import org.json.JSONTokener;

15.

16.import android.content.Context;

17.import android.util.Log;

18.

19.public class Utils {

20.

21. private static final String FILENAME = "userinfo.json"; // 用户保存文件名

22. private static final String TAG = "Utils";

23.

24. /* 保存用户登录信息列表 */

25. public static void saveUserList(Context context, ArrayListUser users)

26. throws Exception {

27. /* 保存 */

28. Log.i(TAG, "正在保存");

29. Writer writer = null;

30. OutputStream out = null;

31. JSONArray array = new JSONArray();

32. for (User user : users) {

33. array.put(user.toJSON());

34. }

35. try {

36. out = context.openFileOutput(FILENAME, Context.MODE_PRIVATE); // 覆盖

37. writer = new OutputStreamWriter(out);

38. Log.i(TAG, "json的值:" + array.toString());

39. writer.write(array.toString());

40. } finally {

41. if (writer != null)

42. writer.close();

43. }

44.

45. }

46.

47. /* 获取用户登录信息列表 */

48. public static ArrayListUser getUserList(Context context) {

49. /* 加载 */

50. FileInputStream in = null;

51. ArrayListUser users = new ArrayListUser();

52. try {

53.

54. in = context.openFileInput(FILENAME);

55. BufferedReader reader = new BufferedReader(

56. new InputStreamReader(in));

57. StringBuilder jsonString = new StringBuilder();

58. JSONArray jsonArray = new JSONArray();

59. String line;

60. while ((line = reader.readLine()) != null) {

61. jsonString.append(line);

62. }

63. Log.i(TAG, jsonString.toString());

64. jsonArray = (JSONArray) new JSONTokener(jsonString.toString())

65. .nextValue(); // 把字符串转换成JSONArray对象

66. for (int i = 0; i jsonArray.length(); i++) {

67. User user = new User(jsonArray.getJSONObject(i));

68. users.add(user);

69. }

70.

71. } catch (FileNotFoundException e) {

72. e.printStackTrace();

73. } catch (IOException e) {

74. e.printStackTrace();

75. } catch (JSONException e) {

76. e.printStackTrace();

77. } catch (Exception e) {

78. e.printStackTrace();

79. }

80.

81. return users;

82. }

83.}

3、AES加密/解密

view sourceprint?

01.package com.example.logindemo;

02.

03.

04.import java.security.SecureRandom;

05.

06.import javax.crypto.Cipher;

07.import javax.crypto.KeyGenerator;

08.import javax.crypto.SecretKey;

09.import javax.crypto.spec.IvParameterSpec;

10.import javax.crypto.spec.SecretKeySpec;

11.

12.public class AESUtils {

13. public static String encrypt(String seed, String cleartext)

14. throws Exception {

15. byte[] rawKey = getRawKey(seed.getBytes());

16. byte[] result = encrypt(rawKey, cleartext.getBytes());

17. return toHex(result);

18. }

19.

20. public static String decrypt(String seed, String encrypted)

21. throws Exception {

22. byte[] rawKey = getRawKey(seed.getBytes());

23. byte[] enc = toByte(encrypted);

24. byte[] result = decrypt(rawKey, enc);

25. return new String(result);

26. }

27.

28. private static byte[] getRawKey(byte[] seed) throws Exception {

29. KeyGenerator kgen = KeyGenerator.getInstance("AES");

30. SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", "Crypto");

31. sr.setSeed(seed);

32. kgen.init(128, sr);

33. SecretKey skey = kgen.generateKey();

34. byte[] raw = skey.getEncoded();

35. return raw;

36. }

37.

38. private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception {

39. SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");

40. Cipher cipher = Cipher.getInstance("AES");

41. cipher.init(Cipher.ENCRYPT_MODE, skeySpec, new IvParameterSpec(

42. new byte[cipher.getBlockSize()]));

43. byte[] encrypted = cipher.doFinal(clear);

44. return encrypted;

45. }

46.

47. private static byte[] decrypt(byte[] raw, byte[] encrypted)

48. throws Exception {

49. SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");

50. Cipher cipher = Cipher.getInstance("AES");

51. cipher.init(Cipher.DECRYPT_MODE, skeySpec, new IvParameterSpec(

52. new byte[cipher.getBlockSize()]));

53. byte[] decrypted = cipher.doFinal(encrypted);

54. return decrypted;

55. }

56.

57. private static String toHex(String txt) {

58. return toHex(txt.getBytes());

59. }

60.

61. private static String fromHex(String hex) {

62. return new String(toByte(hex));

63. }

64.

65. private static byte[] toByte(String hexString) {

66. int len = hexString.length() / 2;

67. byte[] result = new byte[len];

68. for (int i = 0; i len; i++)

69. result[i] = Integer.valueOf(hexString.substring(2 * i, 2 * i + 2),

70. 16).byteValue();

71. return result;

72. }

73.

74. private static String toHex(byte[] buf) {

75. if (buf == null)

76. return "";

77. StringBuffer result = new StringBuffer(2 * buf.length);

78. for (int i = 0; i buf.length; i++) {

79. appendHex(result, buf[i]);

80. }

81. return result.toString();

82. }

83.

84. private final static String HEX = "0123456789ABCDEF";

85.

86. private static void appendHex(StringBuffer sb, byte b) {

87. sb.append(HEX.charAt((b 4) 0x0f)).append(HEX.charAt(b 0x0f));

88. }

89.}

android怎么做动态的登陆界面

设计android的登录界面的方法:

UI实现的代码如下:

1、背景设置图片:

background_login.xml

?xml version="1.0" encoding="utf-8"?

shape xmlns:android=""  

gradient

android:startColor="#FFACDAE5"

android:endColor="#FF72CAE1"

android:angle="45"

/

/shape

2、圆角白框

效果图上面的并不是白框,其实框是白色的,只是设置了透明值,也是靠一个xml文件实现的。

background_login_div.xml

?xml version="1.0" encoding="UTF-8"?

shape xmlns:android=""  

solid android:color="#55FFFFFF" /

!-- 设置圆角

注意: bottomRightRadius是左下角而不是右下角  bottomLeftRadius右下角--

corners android:topLeftRadius="10dp" android:topRightRadius="10dp"

android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp"/

/shape

3、界面布局:

login.xml

?xml version="1.0" encoding="utf-8"?

LinearLayout

xmlns:android=""  

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="@drawable/background_login"

!-- padding 内边距   layout_margin 外边距

android:layout_alignParentTop 布局的位置是否处于顶部 --

RelativeLayout

android:id="@+id/login_div"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:padding="15dip"

android:layout_margin="15dip"

android:background="@drawable/background_login_div_bg" 

!-- 账号 --

TextView

android:id="@+id/login_user_input"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_marginTop="5dp"

android:text="@string/login_label_username"

style="@style/normalText"/

EditText

android:id="@+id/username_edit"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:hint="@string/login_username_hint"

android:layout_below="@id/login_user_input"

android:singleLine="true"

android:inputType="text"/

!-- 密码 text --

TextView

android:id="@+id/login_password_input"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/username_edit"

android:layout_marginTop="3dp"

android:text="@string/login_label_password"

style="@style/normalText"/

EditText

android:id="@+id/password_edit"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_below="@id/login_password_input"

android:password="true"

android:singleLine="true"

android:inputType="textPassword" /

!-- 登录button --

Button

android:id="@+id/signin_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/password_edit"

android:layout_alignRight="@id/password_edit"

android:text="@string/login_label_signin"

android:background="@drawable/blue_button" /

/RelativeLayout

RelativeLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content" 

TextView  android:id="@+id/register_link"

android:text="@string/login_register_link"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="15dp"

android:textColor="#888"

android:textColorLink="#FF0066CC" /

ImageView android:id="@+id/miniTwitter_logo"

android:src="@drawable/cat"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:layout_alignParentBottom="true"

android:layout_marginRight="25dp"

android:layout_marginLeft="10dp"

android:layout_marginBottom="25dp" /

ImageView android:src="@drawable/logo"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_toLeftOf="@id/miniTwitter_logo"

android:layout_alignBottom="@id/miniTwitter_logo"

android:paddingBottom="8dp"/

/RelativeLayout

/LinearLayout

4、java源代码,Java源文件比较简单,只是实例化Activity,去掉标题栏。

package com.mytwitter.acitivity;

import android.app.Activity;

import android.os.Bundle;

import android.view.Window;

public class LoginActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.login);

}

}

5、实现效果如下:


本文标题:登录界面android,登录界面的代码
浏览路径:http://cdkjz.cn/article/dsgeoii.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220