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
- Android开发入门之基本界面组件
- Android入门开发之高级界面组件
- android界面组件开发
- Android入门6大组件以及界面开发初体验
- Android基本的界面组件
- Android界面组件基本用法
- Android入门开发之中级组件
- android基本界面开发
- Android开发之基本组件学习--------Button组件
- Android开发之基本组件学习----------EditView组件
- 《Google Android开发入门与实战》7 ---- 基本组件介绍
- OpenStack入门 之 基本组件
- jQuery中入门组件开发,登录界面
- Android中的界面基本组件简介
- Android开发学习 之 五、基本界面控件
- Android开发学习 之 五、基本界面控件-5进度条
- Android开发学习 之 五、基本界面控件
- Android开发学习 之 五、基本界面控件
- 将零散文件使用ICSharpCode.SharpZipLib压缩打包后一次性下载
- pycharm快捷键、常用设置、包管理
- 学习日记20160831
- 201503-3 节日
- PyCharm管理解释器及第三方模块、包
- Android开发入门之基本界面组件
- activit-----HelloWorld入门流程初试
- Spring Quartz动态配置时间
- hadoop cdh maven
- Azkaban-开源任务调度程序(安装篇)
- STL和C++标准库
- 请求动态权限 代码 Android 6.0
- 解读Android 4.0 Camera原生应用程序的设计思路
- 关于Hive优化的四种方法总结