欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android QQ新用户注册界面绘制

程序员文章站 2024-03-06 13:46:50
先看看效果图: 问题:  1、下拉列表(因为还没看到这里...)  2、标题栏显示问题  3、按钮的 enable 设...

先看看效果图:

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));
        }
      }
    });
  }
}

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