Android QQ新用户注册界面绘制

先看看效果图:

问题:

1、下拉列表(因为还没看到这里...)

2、标题栏显示问题

3、按钮的 Enable 设置  

  ..........

以下是代码:

布局 fragment_main(问题1)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:focusable="true"
  android:focusableInTouchMode="true"
  android:background="#F7F7F9"
  tools:context="com.dragon.android.qqregist.MainActivity$PlaceholderFragment" >

  <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_alignParentTop="true"
    android:background="#ffffff"
    android:drawableLeft="@drawable/aa"
    android:text="@string/button2"
    android:textColor="#1CBAF5" />

  <TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignBaseline="@+id/button2"
    android:layout_alignBottom="@+id/button2"
    android:background="#ffffff"
    android:gravity="center"
    android:text="@string/pagename"
    android:textColor="#1CBAF5" />

  <LinearLayout
    android:id="@+id/linear"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_below="@id/button2"
    android:paddingTop="30dp"
    android:paddingBottom="20dp" >

  <Spinner
    android:id="@+id/spinner1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_spinner"
    android:layout_weight="1"
    android:entries="@array/country"/>

  <EditText
    android:id="@+id/editText1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="2"
    android:background="@drawable/bg_edittext"
    android:ems="10"
    android:inputType="phone"
    android:hint="@string/innum"
    android:color="#000000"
    android:textSize="15sp" >

  </EditText>

  </LinearLayout>

  <Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_below="@id/linear"
    android:enabled="false"
    android:background="@drawable/bg_button"
    android:text="@string/button"
    android:gravity="center"
    android:textColor="#FFFFFF" />

  <CheckBox
    android:id="@+id/checkBox1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:layout_marginLeft="10dp"
    android:layout_below="@id/button1"
    android:text="@string/sure"
    android:textSize="12sp"
    android:textColor="#A6A6A7" />

  <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/checkBox1"
    android:layout_alignBottom="@+id/checkBox1"
    android:layout_marginLeft="10dp"
    android:layout_toRightOf="@+id/checkBox1"
    android:autoLink="all"
    android:text="@string/protocol"
    android:textSize="12sp" />

</RelativeLayout>

EditText、Spinner 以及 Button 修改前后的背景
1.bg_edittext

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

  <stroke android:width="1px" android:color="#BEBEBE"/>

  <solid android:color="#FFFFFF" />

  <padding
    android:left="10dp"
    android:top="10dp"
    android:bottom="10dp"/>

</shape>

2.bg_spinner

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

  <stroke android:width="1px" android:color="#BEBEBE"/>

  <solid android:color="#FFFFFF" />

  <padding
    android:left="10dp"
    android:top="10dp"
    android:bottom="10dp"/>

</shape>

3.bg_button

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

  <solid android:color="#808080"/>

  <corners android:radius="10dp"/>

  <padding
    android:top="10dp"
    android:bottom="10dp"/>

</shape>

4.bg_buttin_change

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

  <solid android:color="#1CBAF5"/>

  <corners android:radius="10dp"/>

  <padding
    android:top="10dp"
    android:bottom="10dp"/>

</shape>

Spinner 的下拉数据 arrays

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string-array name="country">
    <item >中国   +86</item>
    <item >香港   +852</item>
    <item >澳门   +853</item>
    <item >台湾   +886</item>
    <item >日本   +81</item>
    <item >美国   +1</item>
    <item >英国   +44</item>
  </string-array>
</resources>

标题栏的背景(问题2 -- 放弃)

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

  <style name="bg_title" parent="android:Theme">
    <item name="android:windowTitleBackgroundStyle">@style/Titleground</item>
    <item name="android:windowTitleStyle">@style/windowTitleStyle</item>
    <item name="android:windowTitleSize">40dp</item>
  </style>

  <style name="Titleground">
    <item name="android:background">#FFFFFF</item>
  </style>

  <style name="windowTitleStyle">
   <item name="android:text">@string/pagename</item>
   <item name="android:textColor">#1CBAF5</item>
   <item name="android:paddingTop">2dp</item>
   <item name="android:paddingBottom">2dp</item>
   <item name="android:textSize">20sp</item>
   </style>

</resources>

问题2替换方法:隐藏标题栏 -- 在 AndroidManifest 中添加 -- android:theme="@android:style/Theme.NoTitleBar" >

MainActivity (问题3)

package com.dragon.android.qqregist;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity {
  private Spinner spinner = null;
  private EditText editText1;
  private Button button2;
  private Button button1;
  private CheckBox checkBox1;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_main);

    spinner = (Spinner) findViewById(R.id.spinner1);
    spinner.setSelection(0);
    editText1 = (EditText) findViewById(R.id.editText1);
    editText1.setHintTextColor(Color.GRAY);
    button2 = (Button) findViewById(R.id.button2);
    // 设置空间置顶
    button2.bringToFront();
    button1 = (Button) findViewById(R.id.button1);

    // spinner 选择监听事件
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

      @Override
      // parent当前spinner pos/id选中的值所在位置/行
      public void onItemSelected(AdapterView<?> parent, View view,
          int pos, long id) {
        // 得到string-array
        String[] country = getResources().getStringArray(
            R.array.country);
        Toast.makeText(MainActivity.this, "你选择的是:" + country[pos],
            Toast.LENGTH_SHORT).show();
      }

      @Override
      public void onNothingSelected(AdapterView<?> parent) {
        // Another interface callback
      }
    });
    checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
    checkBox1.setOnCheckedChangeListener(new OnCheckedChangeListener() {

      @Override
      @SuppressLint("NewApi")
      public void onCheckedChanged(CompoundButton view, boolean inChecked) {
        button1.setEnabled(inChecked);
        if (!inChecked) {
          // 设置按钮的背景
          button1.setBackground(getResources().getDrawable(
              R.drawable.bg_button));
        } else {
          button1.setBackground(getResources().getDrawable(
              R.drawable.bg_button_change));
        }
      }
    });
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android实现带头像的用户注册页面

    1.首先是注册页面的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"

  • Android客户端实现注册、登录详解(1)

    我们在开发安卓App时难免要与服务器打交道,尤其是对于用户账号信息的注册与登录更是每个Android开发人员必须掌握的技能,本文将对客户端的注册/登录功能的实现进行分析,不到之处还请指出. 在这里我们仅讨论客户端如何请求服务器进行注册,而服务器在收到客户端请求后进行的一系列操作并不在本文所述范围内,有兴趣大家可以参考 请求服务器 客户端在进行用户信息的注册和登录时一般使用post请求(携带参数)去服务器.以volley框架请求服务器为例,真正与服务器进行交互的就是如下代码: StringRequ

  • Android用户注册界面

    推荐阅读:Android如何通过手机获取验证码来完成注册功能 先给大家展示下界面效果图,感觉满意,请参考实现代码. Main.xml源码 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_par

  • Android开发中实现用户注册和登陆的代码实例分享

    在android的应用中越来越多的包含了网络互动功能,这就带来了注册,登陆账号功能.本文完整的介绍对话框的方式实现用户登陆功能. 登陆效果: 应用程序判断当前用户还未登陆,弹出登陆对话框,用户输入账号和密码信息后,传到服务器验证,验证成功后,现实Toast 成功信息,并转到其他界面. 注册效果:用户如没有账号,则点击登陆对话框的 "没有账号,快速注册账号", 弹出注册界面,用户输入注册信息,点击注册按钮,注册成功后,弹出toast信息"注册成功",完成注册后,转到其

  • Android实现QQ新用户注册界面遇到问题及解决方法

    在上篇文章给大家介绍了Android实现QQ登录界面遇到问题及解决方法,本篇文章继续给大家介绍有关android qq界面知识. 先给大家展示下效果图: 问题: 1.下拉列表(因为还没看到这里...) 2.标题栏显示问题 3.按钮的 Enable 设置 以下是代码: 布局 fragment_main(问题1) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools

  • Android设计登录界面、找回密码、注册功能

    本文实例为大家分享了Android 登录.找回密码.注册功能的实现代码,供大家参考,具体内容如下 1.数据库的设计 我在数据库中添加了两张表,一张表用来存储用户信息,诸如用户名,密码,手机号等,可任意添加.另一张表用来存储上一个登录用户的账户信息,我是为了方便才另外创建了一张表去存储,而且这张表我设计了它只能存储一条信息,每次的存储都是对上一条记录的覆盖.事实上,我尝试过在存储用户信息的那张表内添加一个标识,用来标记上一次登录的是哪一个帐号,但是这样做的话,每次改变标识都需要遍历整张表,十分的麻

  • Android注册广播的两种方法分析

    本文实例分析了Android注册广播的两种方法.分享给大家供大家参考,具体如下: 1. 在AndroidManifest.xml文件中注册. 好处:一旦应用程序被安装到手机里,BroadCast Receiver就开始生效.无论应用程序进程是否运行,运用程序是否在开启状态下都可以接受到广播事件. <receiver android:name=".receiver.SMSReceiver" > <intent-filter android:priority="

  • Android手机号注册、绑定手机号获取短信验证码实例

    本文写了一个常见的功能--手机app中注册或绑定手机号的获取验证码的功能,也就是短信验证功能 具体效果就是,你在注册界面填写手机号,点击获取验证码按钮,---然后会收到验证短信,填入验证码后点击注册按钮,如果验证正确就可以跳转到另外一个界面 1.首先大家需要在mob官网注册一个账号,mob是一个免费的短信验证平台 2.在mob.com后台创建应用 3.下载对应的sdk 4.将sdk作为一个library导入到你的项目中 5.现在就可以在你的项目中编写代码使用mob提供的这个功能了 具体代码如下:

  • Android用户注册界面简单设计

    本文实例为大家分享了Android用户注册界面的设计,供大家参考,具体内容如下 I. 实例目标 设计一个用户注册界面,在其中要使用到一些基础控件,如 文本框.编辑框.按钮.复选框等控件 II. 技术分析 首先在布局文件中使用控件的标记来配置所需要的各个控件,然后在 主Activity中获取到该控件,给其添加监听器来监听其操作,最后在控制台输出所操作的内容. III. 实现步骤 在Eclipse中创建 Android项目,名称为 TestUserRegister .设计一个用户注册界面,在其中要使

  • Android注册登录实时自动获取短信验证码

    android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码. 主要就是实时获取短信信息. android上获取短信信息主要有BroadcastReceiver方式与数据库方式,要实时的话就BroadcastReceiver比较方便,分享一篇文章大家可以查看一下,点击. public class SMSReceiver extends BroadcastReceiver{ private String ver

随机推荐