Android基础 【Chapter-3】Android widgets(Android控件)
本章主要讲到android的基本控件介绍,以及使用方法,基本参数,在其中你可以学到以下控件
- TextView(文本容器)
- EditText(输入框)
- Button(按钮)
- ImageView(图片容器)
- CheckBox (复选框)
- RadioButton(单选按钮)
- SpinnerView(下拉选项)
- AutoCompleteTextView(自动补全文本框)
- progressBar (进度条)
- RattingBar (星级条)
一:TextView
1. text,textsize,textcolor
2. textScalex="1.5f":字体按x方向缩放1.5倍,textScaley="1.5f":字体按y方向缩放1.5倍,
3. android:autoLink="phone","email","web","all","map"。比如是phone,当你点击电话号码时,就会到拨号界面
4. android:drawableLeft="@mipmap/ic_launcher",
5. android:drawableBotto="@mipmap/ic_launcher",
6. android:drawableRight="@mipmap/ic_launcher",
7. android:drawableTop=@mipmap/ic_launcher",比如
8. android:drawableLeft="@mipmap/ic_launcher"那么这个图片就会在文字的左边
singline="true" 只能是单行文本 lines="2" 总共2行 maxlines="3" 最多3行
ems="5" 最小显示5个宽度 gravity="center" ,"top","bottom" 比如center 是居中来显示
二:EditText
1. inputtype="phone","phonepassword","textpassword",只能输入手机号码,只能输入数字的密码,并且输入之后会隐藏,只能输入文本密码,并且输入之后会有隐藏
2. textMultine 可以输入多行内容
三:Button
按钮的背景可以是图片
//Button的监听:
mbutton.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
String str = meditText.getText().toString();
Log.v( LOG_TAG, "YJ----->" + str);
}
});
四:ImageView
- src 连接背景图片
- visiblity=”gone” “visible” “invisible”
- adjustViewBounds =”true” 是根据图片的大小来调整
- ScaleType=”fitxy”==>分别在x和y进行缩放,不保持图片比例
- ScaleType=”fitstart”
- ScaleType=”center”==>图片不进行任何缩放,显示在视图的中央
- ScaleType=”centerinside”保证图片的大小小于或者等于视图的大小
- ScaleType=“centercrop”保证图片的大小大于或者等于视图的大小
- ScaleType=”fitcenter”缩放图片显示在中央
- ScaleType=”fitleft”缩放图片左边padding为0左边视图
- ScaleType=”fitright”缩放图片右边padding为0右边视图
//通过代码来获取本地的图片: Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.mipmap. ic_launcher);
mimageview.setImageBitmap(bitmap);
五:CheckBox 多选框的监听
mcheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.v( LOG_TAG, "YJ----->" + isChecked);
}
});
六:RadioButton单选框的监听
<RadioGroup
android:id="@+id/activity_main_rg_setsex"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal" >
<RadioButton
android :id="@+id/activity_main_rb_male"
android :layout_width="0dp"
android :layout_height="wrap_content"
android :layout_weight="1"
android :text="男"/>
<RadioButton
android :layout_width="0dp"
android :layout_height="wrap_content"
android :layout_weight="1"
android :text="女"/>
</RadioGroup>
Boolean booleansex = msetSex.getCheckedRadioButtonId() == R.id.activity_main_xml_male ;
七:下拉框
ArrayAdapter
//ArrayAdapter**********************************************************************************
//第一种适配器方法
/* ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.item_type,R.id.item_type_tv_name);
adapter.add("WORK");
adapter.add("GAME");
adapter.add("LOVE");
adapter.add("OTHER");
mspinnerView.setAdapter(adapter);*/
/* //第二种方法
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1);
adapter.add("步兵");
adapter.add("空军");
adapter.add("海军");
mspinnerView.setAdapter(adapter);*/
//第三种适配器方法、、添加的一般都放在Values里面
final String[] items=getResources().getStringArray(R.array.items_array);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.item_type,items);
mspinnerView.setAdapter(adapter);
//选着下拉框的一项,用日志输出出来
//一:不用监听的方式。
/* int i=mspinnerView.getSelectedItemPosition();
String item=items[i];
Log.v(LOG_TAG,"---------->"+"/"+i+items[i]);*/
//用监听的方式
mspinnerView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.v( LOG_TAG, "---------->"+"/" +position+items [position]);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
simpleAdapter
//*******************************************************************************************************************
//下面是simpleadapater的方式
List<Map<String,Object>>data=new ArrayList<>();
Map<String, Object> map=new HashMap<>();
map.put("bitmap", R.mipmap.ic_launcher );
map.put("title","张三" );
data.add(map);
map=new HashMap<>();
map.put("bitmap",R.mipmap.ic_launcher );
map.put("title", "美女" );
data.add(map);
map=new HashMap<>();
map=new HashMap<>();
map.put("bitmap",R.mipmap.ic_launcher );
map.put("title","帅哥" );
data.add(map);
String[] clounm=new String[]{"bitmap" ,"title" };
int[] ids= new int[]{R.id. item_type2_iv_image,R.id.item_type2_tv_text };
SimpleAdapter adapter2=new SimpleAdapter(this,data,R.layout.item_type2,clounm,ids);
mspinnerView2.setAdapter(adapter2);
八:自动 AutoCompleteTextView(和下拉框的设置一样,只是在输入一行后,下拉框才会出来)
<AutoCompleteTextView
android:layout_width="match_parent"
android:id="@+id/activity_main_auto"
android:layout_height="wrap_content"
android:completionThreshold="1"
/>
ArrayAdapter<String> adapter2= new ArrayAdapter<String>( this,android.R.layout. simple_list_item_1);
adapter2.add("beijing" );
adapter2.add("chengdu" );
adapter2.add("shanghai" );
auto.setAdapter(adapter2);
九:progressBar 进度条
max="100" //最大进度值
setprogress(30) //设置进度值
mproessbar.setMax(values[0 ]);
mproessbar.setProgress(values[ 1]);
setOnSeeBarChangeListener 进度条的监听
十:RattingBar 星级条
progress="4" 设置了有多少颗星星