一.基础控件学习
1.TextView控件
(1)设置控件基本信息设置;
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Title"
android:textSize="25sp"//设置大小
android:textColor="@color/tvcolor"//改变字体颜色/>
*注:改变颜色有三种方法:
(1)在xml文件中用android:textColor="@color/tvcolor"改;
这种方法只能将所有字的颜色都改为同一种颜色;
(2)在MainActivity中使用如下语句改:(这种方法可以选择性该某一段的颜色)
package com.example.kjtest;import android.os.Bundle。。。;//引用的相关包
public class MainActivity extends Activity {
private Button btn1,btn2;//声明button控件
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.tv);
tv.setText(Html.fromHtml("这是改变<font color=blue>局部字段颜色</font>的方法!"));
} }
(3)同时设置不同字段的颜色
在MainActivity中使用如下语句改:
package com.example.kjtest;import android.os.Bundle。。。;//引用的相关包
public class MainActivity extends Activity {
private Button btn1,btn2;//声明button控件
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.tv);
String str="这是同时改变不同字段颜色的方法!";
SpannableStringBuilder style=new SpannableStringBuilder(str);
style.setSpan(new ForegroundColorSpan(Color.RED), 0, 4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(new ForegroundColorSpan(Color.GREEN), 4, 8,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(new ForegroundColorSpan(Color.YELLOW), 8, 12,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(new ForegroundColorSpan(Color.CYAN), 12, 16,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
tv.setText(style);
/* btn1=(Button)findViewById(R.id.btn1);//查找到button1的id;
btn2=(Button)findViewById(R.id.btn2);//查找到button2的id;
btn1.setOnClickListener(clicklistener);//监听btn1;
btn2.setOnClickListener(clicklistener);//监听btn2*/
} }
(2)设置超链接
android:autoLink="web"//注:引号内可写:none,web,phone,email,map,all
分别表示不连接,连接网址,电话,邮箱,图以及上述全部链接;
(3)设置跑马灯的效果
android:focusable="true" //空间是否能获得焦点
android:ellipsize="marquee"//文字过长时该控件如何显示“start”省略显示在开头,“end”省略显示在结尾,“middle”省略显示在中间,“marquee”以跑马灯的效果显示;
android:singleLine="true"//设置文字段为单行
android:marqueeRepeatLimit="marquee_forever"//设置跑动次数,marquee_forever表示永远跑动
android:focusableInTouchMode="true"//在触摸模式下是否获得焦点
2.EditText控件
(1)去除焦点
建俩个edittext第一个的宽高都设为0dp;
(2)设置基本属性
<EditText
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="10"//设置最大输入字符数
android:singleLine="false"//设置是否多行输入,与android:maxLength不可以连用
android:imeOptions="number"//限制输入的信息类型,number
android:hint="请在此输入内容"//设置提示信息
android:drawableLeft="@drawable/hua"//在edittext中添加图片(图片拷贝到drawable文件夹下),可选择位置;
android:background="@drawable/shape"//设置圆角,在drawable文件夹下新建一个xml文件命名为shape(shape文件内容见备注:)
/>
备注:shape.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">//将形状设为矩形
<solid android:color="#0000FF"/>//设置填充色
<corners android:radius="7sp"/>//矩形四角的半径
</shape>
3.Button控件
(2)设置控件基本信息设置;
<Button
android:id="@+id/btn"
android:text="@string/btn"//注:btn是已经在string.xml中写过的;
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</Button>
(2)添加事件:
方法一:(推荐使用)
在MainActivity.java代码如下:package com.example.kjtest;import android.os.Bundle。。。;//引用的相关包
public class MainActivity extends Activity {
private Button btn;//声明button控件
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button)findViewById(R.id.btn);//查找到button的id;
btn.setOnClickListener(new OnClickListener(){//设置监听事件以及实现
public void onClick(View v)
{Toast.makeText(MainActivity.this,"你点击了Button!",Toast.LENGTH_LONG).show();}});
}
}
方法二:推荐当有多个button时使用
在MainActivity.java代码如下:package com.example.kjtest;import android.os.Bundle。。。;//引用的相关包
public class MainActivity extends Activity {
private Button btn1,btn2;//声明button控件
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button)findViewById(R.id.btn1);//查找到button1的id;
btn2=(Button)findViewById(R.id.btn2);//查找到button2的id;
btn1.setOnClickListener(clicklistener);//监听btn1;
btn2.setOnClickListener(clicklistener);//监听btn2
}
private OnClickListener clicklistener=new OnClickListener()
{public void onClick(View v) {
// TODO Auto-generated method stub
Button btn=(Button)v;//强制转换
switch(btn.getId())
{case R.id.btn1:
Toast.makeText(MainActivity.this,"你点击了Button1!",Toast.LENGTH_LONG).show();
break;
case R.id.btn2:
Toast.makeText(MainActivity.this,"你点击了Button2!",Toast.LENGTH_LONG).show();
break; }} };
}
4.radiobutton控件(单选框按钮)
(1)布局形式写法:
<RadioGroup
android:id="@+id/rad_xb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<RadioButton
android:id="@+id/rad_boy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男生"
/>
<RadioButton
android:id="@+id/rad_girl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女生"
/>
</RadioGroup>
(2)触发事件监听
package com.example.kjtest;import android.os.Bundle。。。;//引用的相关包
public class MainActivity extends Activity {
private Button btn1,btn2;//声明button控件
private TextView tv;
private RadioGroup rad_xb;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rad_xb=(RadioGroup)findViewById(R.id.rad_xb);
rad_xb.setOnCheckedChangeListener(new OnCheckedChangeListener()
{public void onCheckedChanged(RadioGroup group,int checkedId)
{if(checkedId==R.id.rad_boy)
{Toast.makeText(MainActivity.this,"你选择了男生!",Toast.LENGTH_LONG).show();}
else if(checkedId==R.id.rad_girl)
{Toast.makeText(MainActivity.this,"你选择了女生!",Toast.LENGTH_LONG).show();}} });}}
(3)变换选择点到信息后面
android:button="@null"//控制选择点的属性
android:drawableRight="@android :drawable/btn_radio"
以上代码添加到RadioButton属性里
注:android:drawableRight="@android :drawable/btn_(在此处按alt+?获得提示可将圆形选择点改为星形或其他)"
5.checkbox控件(复选框)
(1).布局形式:
<CheckBox
android:id="@+id/cke"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="东方"
/>
<CheckBox
android:id="@+id/ckw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="西方"
/>
<CheckBox
android:id="@+id/ckn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="北方"
/>
<CheckBox
android:id="@+id/cks"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="南方"/>
(2)事件监听:
public class MainActivity extends Activity {
private CheckBox cke,ckw,ckn,cks;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cke=(CheckBox)findViewById(R.id.cke);//查找到button的id;
ckw=(CheckBox)findViewById(R.id.ckw);
ckn=(CheckBox)findViewById(R.id.ckn);
cks=(CheckBox)findViewById(R.id.cks);
cke.setOnCheckedChangeListener(listener);
ckw.setOnCheckedChangeListener(listener);
ckn.setOnCheckedChangeListener(listener);
cks.setOnCheckedChangeListener(listener);}
Private OnCheckedChangeListener listener=new OnCheckedChangeListener()
{public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(buttonView.getId()==R.id.cke)
{if(isChecked)
{Toast.makeText(MainActivity.this,"东方!",Toast.LENGTH_LONG).show();}}
else if(buttonView.getId()==R.id.ckw)
{if(isChecked)
{Toast.makeText(MainActivity.this,"西方!",Toast.LENGTH_LONG).show();}}
else if(buttonView.getId()==R.id.ckn)
{if(isChecked)
{Toast.makeText(MainActivity.this,"北方!",Toast.LENGTH_LONG).show();}}
else if(buttonView.getId()==R.id.cks)
{if(isChecked)
{Toast.makeText(MainActivity.this,"南方!",Toast.LENGTH_LONG).show();}}}};
}
6.划横线分割屏幕
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#0000FF"
/>
7.DataPickerDialog(日期控件)
(1)基本布局
<TextView
android:id="@+id/datadisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/changeb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="修改时间"
/>
<DatePicker
android:id="@+id/datapick"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
(2)事件触发
public class MainActivity extends Activity {
private DatePicker datePicker;
private Button mpickdate;
private TextView mdatedisplay;
private int myear,mmonth,mday;
static final int DATE_DIALOG_ID=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mdatedisplay=(TextView)findViewById(R.id.datadisplay);
mpickdate=(Button)findViewById(R.id.changeb);
mpickdate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID); }});
final Calendar c=Calendar.getInstance();
myear=c.get(Calendar.YEAR);
mmonth=c.get(Calendar.MONTH);
mday=c.get(Calendar.DAY_OF_MONTH);
updateDisplay();
datePicker=(DatePicker)findViewById(R.id.datapick);
datePicker.init( myear, mmonth, mday,new OnDateChangedListener()
{
public void onDateChanged(DatePicker View, int year, int monthofyear,int dayofmonth) { Toast.makeText(MainActivity.this,year+"-"+monthofyear+"-"+dayofmonth,Toast.LENGTH_LONG).show(); } }); }
protected Dialog onCreateDialog(int id)
{switch(id)
{case DATE_DIALOG_ID:
return new DatePickerDialog(this,mDateSetListener,myear,mmonth,mday);}
return null; }
private DatePickerDialog.OnDateSetListener mDateSetListener=new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
myear=year;
mmonth=monthOfYear;
mday=dayOfMonth;
updateDisplay();}};
private void updateDisplay()
{ mdatedisplay.setText(new StringBuilder().append("时间:").append(myear).append("-").append(mmonth).append("-").append(mday)) }}
8.TimePickerDialog(时间控件)
和DatePickerDialog类似
android基础教程下载 android应用基础教程
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
基础教程
# 一、启动Arthas curl -O https://arthas.aliyun.com/ar
java spring mybatis 数据库 开发语言 -
android开发基础教程汇总
1 Android之动画效果编程基础
移动开发 休闲 android android开发 开发基础教程汇总 -
python将元组中的数字赋值给变量
1.字符串(1)创建: 单双三引号 (转义字符:\',\") (2)特性: 索引s[0] --第一个字符 切片s[start:stop:step]
python将元组中的数字赋值给变量 字符串 默认值 元组