先看程序效果(图):

图一

relativelayout和spinner 详解_第1张图片

图二

relativelayout和spinner 详解_第2张图片

两个布局文件main.xml 和 anotheractivity.xml

android:layout_above="@id/XXX" “本控件位于XXX控件上面”
android:layout_toLeftOf="@id/XXX" “本控件位于XXX控件的左边”
android:layout_alignTop="@id/XXX" “本控件的顶部和XXX控件的顶部对齐,即这个控件的顶部和XXX控件的顶部在同一行”
android:layout_alignParentLeft="true" “本控件的左边是其父控件左边对齐,即这个控件向左靠齐它的父控件”
android:layout_marginRight="5dip" “本控件的右边和它相邻的控件的左边或父控件的右边相隔5dip”


常用单位
dip:Density-independent Pixels - an abstract unit that is based on thephysical density of the screen.

pt :Points - 1/72 of an inch based on the physical size of the screen.

px :Pixels - corresponds to actual pixels on the screen. Notrecommended.

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:id="@+id/emailTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginTop="25dip"android:layout_alignParentTop="true"android:textStyle="bold"android:text="电子邮箱:"/><EditText android:id="@+id/emailEditText"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginRight="5dip"android:layout_marginTop="1dip"android:layout_below="@id/emailTextView"android:text="\@"/><TextView android:id="@+id/accountTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginTop="5dip"android:layout_below="@id/emailEditText"android:textStyle="bold"android:text="账号:"/><EditText android:id="@+id/accoutEditText"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginRight="5dip"android:layout_marginTop="1dip"android:layout_below="@id/accountTextView"/><TextView android:id="@+id/passwordTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginTop="5dip"android:layout_below="@id/accoutEditText"android:textStyle="bold"android:text="输入密码:"/><EditText android:id="@+id/passwordEditText"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginRight="5dip"android:layout_marginTop="1dip"android:password="true"android:layout_below="@id/passwordTextView"/><TextView android:id="@+id/password2TextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginTop="5dip"android:layout_below="@id/passwordEditText"android:textStyle="bold"android:text="确认密码:"/><EditText android:id="@+id/password2EditText"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginRight="5dip"android:layout_marginTop="1dip"android:password="true"android:layout_below="@id/password2TextView"/><Button android:id="@+id/nextButton"android:layout_width="150dp"android:layout_height="wrap_content"android:layout_marginRight="5dip"android:layout_marginBottom="5dip"android:layout_alignParentBottom="true"android:layout_alignParentRight="true"android:textStyle="bold"android:text="下一步"/></RelativeLayout>


<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:id="@+id/nameTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginTop="25dip"android:layout_alignParentTop="true"android:textStyle="bold"android:text="真实姓名:"/><EditText android:id="@+id/nameEditText"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginRight="5dip"android:layout_marginTop="1dip"android:layout_below="@id/nameTextView"android:text=""/><TextViewandroid:id="@+id/certificationTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginTop="5dip"android:textStyle="bold"android:layout_below="@id/nameEditText"android:text="证件类型:"/><Spinner android:id="@+id/certificationSpinner"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginTop="1dip"android:layout_marginRight="5dip"android:prompt="@string/certification_promt"android:layout_below="@id/certificationTextView"/><TextView android:id="@+id/certificationNumTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginTop="5dip"android:layout_below="@id/certificationSpinner"android:text="证件号码:"/><EditText android:id="@+id/certificationNumEditText"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginRight="5dip"android:layout_marginTop="1dip"android:layout_below="@id/certificationNumTextView"android:text=""/><Button android:id="@+id/previousButton"android:layout_width="150dp"android:layout_height="wrap_content"android:layout_marginRight="5dip"android:layout_marginBottom="5dip"android:layout_alignParentBottom="true"android:layout_alignParentLeft="true"android:textStyle="bold"android:text="上一步"/><Button android:id="@+id/registerButton"android:layout_width="150dp"android:layout_height="wrap_content"android:layout_marginRight="5dip"android:layout_marginBottom="5dip"android:layout_alignParentBottom="true"android:layout_alignParentRight="true"android:textStyle="bold"android:text="注册"/></RelativeLayout>


两个activity,RelativeLayoutActivity.java和AnotherActivity.java

package com.zeph.android.relativelayout;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class RelativeLayoutActivity extends Activity {private Button nextButton;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);nextButton = (Button) findViewById(R.id.nextButton);nextButton.setOnClickListener(new NextButtonOnClickListener());}class NextButtonOnClickListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent();intent.setClass(RelativeLayoutActivity.this, AnotherActivity.class);startActivity(intent);finish();}}}


  

package com.zeph.android.relativelayout;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.Spinner;import android.widget.Toast;public class AnotherActivity extends Activity {private Spinner certificationSpinner;private Button previousButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.anotheractivity);certificationSpinner = (Spinner) findViewById(R.id.certificationSpinner);previousButton = (Button) findViewById(R.id.previousButton);/* * createFromResource方法创建一个ArrayAdapter对象,它将StringArray中每一项都绑定到Spinner上面。 * 这就是如何将数据显示到Spinner上面的方法。R.layout.simple_spinner_item是一个Spinner的标准布局。 * 也就是弹出来的整个选项框的布局方式。 */ArrayAdapter<CharSequence> spinnerAdapter = ArrayAdapter.createFromResource(AnotherActivity.this,R.array.certification_array,android.R.layout.simple_spinner_item);//设置选项框打开后,其中每一项的显示方式(外形,样子)。spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);certificationSpinner.setAdapter(spinnerAdapter);//给Spinner设置监听器certificationSpinner.setOnItemSelectedListener(new CertificationOnItemSelectedListener());previousButton.setOnClickListener(new PreviousButtonOnClickListener());}class CertificationOnItemSelectedListener implements OnItemSelectedListener {@Overridepublic void onItemSelected(AdapterView<?> parent, View v, int position,long id) {// TODO Auto-generated method stubString []str = {"军官证","身份证"};Toast.makeText(AnotherActivity.this,"您选择的是:"+str[position],Toast.LENGTH_SHORT).show();}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {// TODO Auto-generated method stub}}class PreviousButtonOnClickListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent();intent.setClass(AnotherActivity.this, RelativeLayoutActivity.class);startActivity(intent);finish();}}}


res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">Hello World, RelativeLayoutActivity!</string>    <string name="app_name">RelativeLayout</string>    <string-array name="certification_array">        <item>军官证</item>        <item>身份证</item>    </string-array>    <string name="certification_promt">选择证件类型</string></resources>


记得两个activity,要在Manifest里面注册

更多相关文章

  1. Android实现计算器布局(四种布局方式)之LinearLayout线性布局
  2. Android 自动化测试—robotium(四)CheckBox控件
  3. 将Android Studio里的EditText控件弄成圆角(即背景设置为弧形)
  4. 自定义控件:抽屉SlidingDrawer——wrap_content非全屏
  5. Android常用布局有5种
  6. android中的布局简要介绍
  7. Activity的布局
  8. androidUI控件
  9. 安卓布局被软键盘顶上去的解决方案

随机推荐

  1. android的selector,背景选择器
  2. Android(安卓)应用开发环境的建立
  3. Android(安卓)用自定义PopupWindow实现自
  4. android aidl详解
  5. [置顶] 推翻自己和过往,重学自定义View
  6. Android之RemoteViews篇下————Remote
  7. android 键盘快捷指令
  8. android弹出框
  9. 安卓(Android)x86 4.4 VMware虚拟机安装
  10. Android(安卓)开发资料总结--依赖注入框