Android开发入门之基本界面组件

来源:互联网 发布:default c语言 编辑:程序博客网 时间:2024/04/29 06:08

转载请注明出处:http://write.blog.csdn.net/postedit/52387970

一、TextView和EditText

<LinearLayout 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:orientation="vertical"    tools:context=".MainActivity" >           <TextView        android:id="@+id/textView1"        android:layout_width="fill_parent"        android:layout_height="50dp"        android:singleLine="true"        android:ellipsize="middle"        android:text="我会开发android我会开发android我会开发android我会开发android" />           <TextView        android:id="@+id/textView2"        android:layout_width="fill_parent"        android:layout_height="50dp"        android:shadowDx="15"        android:shadowDy="20"        android:shadowRadius="30"        android:textSize="20pt"        android:shadowColor="#0000ff"       android:textColor="#dd0000"        android:text="我是阴影" />           <TextView        android:id="@+id/textView3"        android:layout_width="fill_parent"        android:layout_height="50dp"        android:password="true"        android:text="@string/hello_world" />           <TextView        android:id="@+id/textView4"        android:layout_width="fill_parent"        android:layout_height="50dp"        android:drawableLeft="@drawable/ic_launcher"        android:text="@string/hello_world" />           <EditText                android:id="@+id/editText1"                android:layout_width="fill_parent"        android:layout_height="50dp"        android:hint="请输入账号"        android:cursorVisible="true"        android:textColorHint="#00dd00"/>            <EditText                android:id="@+id/editText1"                android:layout_width="fill_parent"        android:layout_height="200dp"        android:background="@null"        android:hint="请输入给我们的建议"/></LinearLayout>

            运行效果:

                          

二、Button和ImageButton

布局文件:

<LinearLayout 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:orientation="vertical"    tools:context=".MainActivity" >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textSize="15pt"        android:text="按钮测试" />    <Button        android:id="@+id/button1"        android:layout_width="fill_parent"        android:layout_height="40dp"        android:text="普通按钮"        android:shadowColor="#000000"        android:shadowDx="15"        android:shadowDy="20"        android:background="#aaaaff"        />    <ImageButton        android:id="@+id/imageButton1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:background="@drawable/ic_launcher"        />    <ImageButton        android:id="@+id/imageButton2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/imgbutton_selector" /></LinearLayout>
MainActivity.java文件:

package com.example.button;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {private Button btn = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//通过findViewById取得按钮实例btn = (Button)findViewById(R.id.button1);//通过匿名内部类给按钮设置监听器btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {  Toast.makeText(MainActivity.this, "你点击了普通按钮", Toast.LENGTH_LONG).show();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}}
       运行效果:

                      

三、 RadioButton、RadioGroup和CheckBox

   xml布局文件:

<LinearLayout 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:orientation="vertical"    tools:context=".MainActivity" >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textSize="12pt"        android:text="单选复选测试" />    <RadioGroup         android:id="@+id/rg"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal">            <RadioButton                 android:layout_width="50dp"                android:layout_height="50dp"                 android:text="男"/>            <RadioButton                 android:layout_width="50dp"                android:layout_height="50dp"                 android:text="女"/>   </RadioGroup>                <CheckBox                     android:id="@+id/cbmale"                   android:layout_width="50dp"                   android:layout_height="50dp"                   android:text="学生" />                <CheckBox                    android:id="@+id/cbfemale"                   android:layout_width="50dp"                   android:layout_height="50dp"                   android:text="20岁" /></LinearLayout>
    MainActivity.java文件:

package com.example.choosetest;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.RadioGroup.OnCheckedChangeListener;import android.widget.Toast;public class MainActivity extends Activity {private CheckBox checkBoxMale;private CheckBox checkBoxFemale;private RadioGroup radioGroup;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);checkBoxMale = (CheckBox)findViewById(R.id.cbmale);checkBoxFemale = (CheckBox)findViewById(R.id.cbfemale);radioGroup = (RadioGroup)findViewById(R.id.rg);//设置匿名内部类监听器checkBoxMale.setOnCheckedChangeListener(new MyCheckListener());checkBoxFemale.setOnCheckedChangeListener(new MyCheckListener());//设置匿名内部类监听器(android.widget.RadioGroup.setOnCheckedChangeListener)radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {//((RadioButton)findViewById(group.getCheckedRadioButtonId())).getText()这句代码虽然可读性差,但却道出了真谛Toast.makeText(MainActivity.this,"你选中了"+((RadioButton)findViewById(group.getCheckedRadioButtonId())).getText(),Toast.LENGTH_SHORT).show();}});}  //实现android.widget.CompoundButton.OnCheckedChangeListener接口,请注意此接口与RadioButton那个接口名字相同,但所在的包不同class MyCheckListener implements android.widget.CompoundButton.OnCheckedChangeListener{@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(isChecked){//注意一定要调用show()方法,否则你会很郁闷        Toast.makeText(MainActivity.this, "你选择了"+buttonView.getText(), Toast.LENGTH_SHORT).show() ;}else{Toast.makeText(MainActivity.this, "你取消选择了"+buttonView.getText(), Toast.LENGTH_SHORT).show();}}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}}

           运行效果:

                            

四、ToggleButton

xml文件:

<LinearLayout 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:orientation="vertical"    tools:context=".MainActivity" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="状态按钮测试"        android:textSize="12pt" />    <ToggleButton        android:id="@+id/tButton"        android:layout_width="100dp"        android:layout_height="40dp"        android:textOn="注册界面"        android:textOff="登录界面"        android:checked="true"        />    <RelativeLayout         android:id="@+id/login"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        >        <TextView             android:textSize="20pt"            android:text="我是登录界面"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            />    </RelativeLayout>    <RelativeLayout android:id="@+id/register"        android:layout_width="wrap_content"        android:visibility="invisible"        android:layout_height="wrap_content">        <TextView             android:textSize="20pt"            android:text="我是注册界面"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            />         </RelativeLayout></LinearLayout>
    MainActivity.java

package com.example.togglebutton;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.RelativeLayout;import android.widget.ToggleButton;public class MainActivity extends Activity {     private ToggleButton tButton;     private RelativeLayout login;     private RelativeLayout register;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//实例化tButton = (ToggleButton)findViewById(R.id.tButton);login = (RelativeLayout)findViewById(R.id.login);register = (RelativeLayout )findViewById(R.id.register);tButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {                      if(isChecked){                           //设置登录布局隐藏,注册布局显示,                           //需注意INVISIBLE和GONE的区别,隐藏之后是否留下背景                               login.setVisibility(View.VISIBLE);                               register.setVisibility(View.INVISIBLE);                       }                      else{                           login.setVisibility(View.INVISIBLE);                               register.setVisibility(View.VISIBLE);                        }}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}}

      运行效果:

                      

五、AnalogClock 和 DigitalClock

<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:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textSize="12pt"        android:text="Android中的时间" />    <AnalogClock        android:layout_width="120dp"        android:layout_height="120dp"        android:layout_alignLeft="@+id/textView1"        android:layout_below="@+id/textView1"        android:layout_marginLeft="84dp"        android:layout_marginTop="34dp" />    <DigitalClock        android:layout_width="120dp"        android:layout_height="wrap_content"        android:layout_alignRight="@+id/textView1"        android:layout_centerVertical="true" /></RelativeLayout>
          效果图:

                     

六、ImageView

xml文件:

<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"    tools:context=".MainActivity" >    <ImageView         android:id="@+id/image"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:background="#ffffff"        android:layout_marginBottom="60dp" />    <Button        android:id="@+id/low"        android:layout_width="wrap_content"        android:layout_height="60dp"        android:layout_alignParentBottom="true"        android:layout_alignParentLeft="true"        android:text="low  alpha" />    <Button        android:id="@+id/high"        android:layout_width="wrap_content"        android:layout_height="60dp"        android:layout_alignParentBottom="true"        android:text="high  alpha"         android:layout_toRightOf="@+id/low"/>    <Button        android:id="@+id/nextImage"        android:layout_width="wrap_content"        android:layout_height="60dp"        android:layout_toRightOf="@+id/high"        android:text="next image"         android:layout_alignParentBottom="true"/></RelativeLayout>
MainActivity.java文件:

package com.example.imageviewtest;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity {     private ImageView imageView;private Button lowButton;private Button highButton;private Button nextImageButton;//图片资源数组private int[] images = new int[]{R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4,};//初始显示图片private int currentImage = 2;//初始图片透明度private int alpha = 255;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView = (ImageView)findViewById(R.id.image);lowButton = (Button)findViewById(R.id.low);highButton = (Button)findViewById(R.id.high);nextImageButton = (Button)findViewById(R.id.nextImage);imageView.setImageResource(images[currentImage]);//为显示下一张图片按钮设置内部匿名监听器nextImageButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {                     if(++currentImage > 3){                     currentImage = 0;                     }                     imageView.setImageResource(images[currentImage]);}});highButton.setOnClickListener(new MyListener());lowButton.setOnClickListener(new MyListener());}//降低或增加图片透明度按钮的监听器class MyListener implements OnClickListener{@Overridepublic void onClick(View v) {      if(v == lowButton){            alpha-=50;      }     if(v == highButton){        alpha+=50;     }     if(alpha<=0){     alpha = 0;     }     if(alpha>=255){     alpha = 255;     }     imageView.setImageAlpha(alpha);     System.out.println(alpha);}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}}

        效果图:

                   




1 0
原创粉丝点击