android基础之常用控件复习
来源:互联网 发布:分数统计软件 编辑:程序博客网 时间:2024/06/07 21:39
作为一个android专业出身的我竟然快不会写android代码了(吐槽自己的废话)
接下来这篇文章将对android基础常用的几个控件进行下复习。
在这布局方面的知识简单掠过。。。
布局;网格布局、帧布局、表格布局、绝对布局、
线性布局(LinearLayout): 通过权重灵活分配空间,垂直,水平,可嵌套 (layout_gravity、gravity、 orientation、weight)特别注意layout_gravity和gravity的区别。
android:orientation="horizontal"
android:layout_weight="1"
相对布局(Relativelayout): 本身位于谁的那边 a位于b的右边 相对于b来说,a位于b的右边(找参照物)
android:layout_toRightOf=""
android:layout_toRightOf=""
边缘对齐:alignParentxxx
帧布局:放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素.
配合Fragment使用。
配合Fragment使用。
注意:
控件
@1Button
先来回顾下写控件的步骤:
1).布局文件中创建一个Button控件;
2).声明控件;
3).绑定Id.
4).设置点击事件.
1、button的三种点击事件:
第一种:
匿名方式设置按钮点击事件。
(1)布局文件中声明一个按钮
<Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="登录" />
(2) 见代码:
package com.xiaoning.demo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageButton;import android.widget.Toast;import com.example.administrator.demoapplication.R;public class MainActivity extends Activity { //1.声明按钮控件 private Button myButton; // 实现OnClickListener接口 、匿名内部类、设置点击事件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //2.绑定ID myButton = (Button) findViewById(R.id.myButton); //3.设置点击事件 myButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { //弹出吐司 Toast.makeText(MainActivity.this, "我点击了按钮", Toast.LENGTH_LONG).show(); } }); }}
第二种:
实现OnClickListener接口
package com.xiaoning.demo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageButton;import android.widget.Toast;import com.example.administrator.demoapplication.R;public class MainActivity extends Activity implements OnClickListener { //1.声明按钮控件 private Button myButton; // 实现OnClickListener接口 、匿名内部类、设置点击事件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //2.绑定ID myButton = (Button) findViewById(R.id.myButton); myButton.setOnClickListener(this); } // 必须实现OnClickListener接口 public void onClick(View view) { switch (view.getId()) { // button的id case R.id.myButton: //Intent意图 跳转到下一个Activity Intent intent = new Intent(MainActivity.this, ThirdActivity.class); MainActivity.this.startActivity(intent); break; case R.id.button1: Toast.makeText(MainActivity.this, "-->>1", Toast.LENGTH_LONG).show(); break; } }}
提前创建好Activity
第三种:
布局文件中设置点击事件
<Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="登录" android:onClick="SendMessage" />
public class MainActivity extends AppCompatActivity { //1.声明按钮控件 private Button myButton, Button1, Button2; // 响应按钮事件 public void SendMessage(View view) { // 在layout中注册 不用实现onClickListener 也不用绑定id Toast.makeText(MainActivity.this, "-->>3", Toast.LENGTH_LONG).show(); }}
还有一种ImageButton,和Buttonb不同的是imageButton没有text属性, 但是他继承于ImageView,有android:src="@drawable/xxx" 属性。 Button 继承 Textview。
<ImageButton android:id="@+id/myButton" android:layout_width="50dp" android:layout_height="wrap_content" android:padding="10dp" android:text="登录" android:src="@mipmap/ic_launcher" android:onClick="SendMessage" />
@2EditText TextView ImageView
上布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:hint="请输入用户名字:" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@id/editText2" android:layout_alignRight="@id/editText2" android:layout_below="@id/editText2" android:inputType="textPassword" /> <EditText android:id="@+id/editText3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+d/editText1" android:layout_alignRight="@id/editText1" android:layout_below="@+id/editText1" android:inputType="phone"> <requestFocus /> </EditText><ImageView android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:src="@mipmap/ic_launcher" /><TextView android:id="@+id/text_edit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@id/button1" android:layout_centerHorizontal="true" android:text="请输入姓名:" android:textColor="@color/colorPrimary" android:textSize="20dp" /></RelativeLayout>
package com.xiaoning.demo;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnKeyListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import com.example.administrator.demoapplication.R;public class EditText01 extends Activity { Button btn; EditText et1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_edit_text01); //绑定ID btn = (Button) findViewById(R.id.button1); et1 = (EditText) findViewById(R.id.editText2); //看效果 btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String value = et1.getText().toString(); if (value.equals("") || value == null) { et1.setError("请输入用户名字:"); } } }); //EditText的点击事件 et1.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER) { Toast.makeText(EditText01.this, "按下回车键", Toast.LENGTH_LONG).show(); } return false; } }); }}
@3各种Bar
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" /> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignLeft="@id/progressBar2" android:layout_below="@id/progressBar2" android:layout_marginTop="103dp" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@id/ratingBar1" android:text="点击开始" /> <ProgressBar android:id="@+id/progressBar3" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/progressBar1" android:layout_marginLeft="119dp" android:layout_marginTop="22dp" android:layout_toRightOf="@id/ratingBar1" /> <ProgressBar android:id="@+id/progressBar2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@id/progressBar1" android:layout_alignTop="@id/progressBar3" /> <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/seekBar1" android:layout_centerHorizontal="true" /></RelativeLayout>
代码就不详细说了。。
package com.xiaoning.demo;import android.app.Activity;import android.os.AsyncTask;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.ProgressBar;import android.widget.RatingBar;import android.widget.SeekBar;import com.example.administrator.demoapplication.R;public class Progressbar extends Activity { ProgressBar pb = null; SeekBar sb = null; RatingBar rb = null; Button b = null; ////SeekBar和RatingBar都是ProgressBar的子类 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_progressbar); pb = (ProgressBar) findViewById(R.id.progressBar1); sb = (SeekBar) findViewById(R.id.seekBar1); rb = (RatingBar) findViewById(R.id.ratingBar1); b = (Button) findViewById(R.id.button1); pb.setMax(100); sb.setMax(100); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new MyTask().execute(); } }); sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { System.out.println("-->>" + progress); } }); rb.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { System.out.println("-->>" + rating); } }); } class MyTask extends AsyncTask<Void, Integer, Void> { @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); pb.setProgress(values[0]); } @Override protected Void doInBackground(Void... params) { int i = 1; while (i <= 100) { try { Thread.sleep(500); } catch (Exception e) { // TODO: handle exception } publishProgress(i); i++; } return null; } }}
阅读全文
0 0
- android基础之常用控件复习
- Android基础复习之基本控件
- Android基础复习之Spinner
- android基础之Activity复习
- android基础之适配器复习
- javascript基础复习之常用对象
- Android控件复习之TextView与EditText
- Android基础(四) 常用控件
- android-基础篇-常用控件
- Android复习之旅--常用布局
- Android-基础复习之工程介绍
- android复习路之java基础下
- Android常用控件之ViewPager
- Android常用控件之SoundPool
- Android常用控件之:SeekBar
- Android常用控件之AlertDialog
- Android常用控件之ProgressDialog
- Android常用控件之EditText
- visual studio2010下FFTW的安装
- 战地:叛逆连队2 (联机) Battlefield:Bad Company 2
- Oracle跨数据库查询:dblink----oracle
- 关于C语言
- BZOJ 5072 [Lydsy 十月月赛] 树DP 解题报告
- android基础之常用控件复习
- Glide等比例动态加载网络图片
- Java实现我的第一个程序HelloWorld!
- BZOJ 2143 飞飞侠 最短路
- 棋盘问题(DFS)
- usermod,用户密码管理,mkpasswd
- 多线程(未完结,待续)
- spring基础思维导图
- Oc 拨打电话和发短信功能的实现