Android实现QQ新用户注册界面遇到问题及解决方法
时间:2021-02-14 11:30:42|栏目:Android代码|点击: 次
在上篇文章给大家介绍了Android实现QQ登录界面遇到问题及解决方法,本篇文章继续给大家介绍有关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> fragment_main
EditText、Spinner 以及 Button 修改前后的背景
<?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> 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> bg_spinner
<?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> bg_button
<?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> bg_buttin_change
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> arrays
标题栏的背景(问题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> bg_titile
问题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)); } } }); } }