一、Progressbar的用法:
ProgressBar主要是用来实现处理或加载进度的显示或者提示用户正在处理或加载数据。基本来说就两种情况,一种是转圈的小圆圈,一种是水平的进度条。style="?android:attr/progressBarStyle"
style="?android:attr/progressBarStyleHorizontal”
Progressbar的常用属性:
android:max="200" 滚动条最大值
android:progress="0" 滚动条当前值
android:visibility="visible" 滚动条是否可见
setProgress(int) 设置当前值
样例:
<ProgressBar
android:id="@+id/pb_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ProgressBar
android:id="@+id/pb_botton"
android:layout_below="@id/pb_top"
android:layout_marginTop="20dp"
style="?android:attr/progressBarStyleHorizontal"
//自定义进度条颜色 android:indeterminateDrawable="@drawable/progressbar"
android:layout_width="match_parent"
android:layout_height="20dp"
android:max="100"/>
private void intiView(){
btn_add= (Button) findViewById(R.id.btn_add);
pb_bottom= (ProgressBar) findViewById(R.id.pb_botton);
btn_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(progress<100){
progress+=10;
pb_bottom.setProgress(progress);
}else {//进度条循环显示
progress=0;
pb_bottom.setProgress(progress);
}
//自定义进度条颜色的资源
***********************************************************************************************************************************************
二、RatingBar的常用方法
public RatingBar(Context context) 创建RatingBar对象
public int getNumStars() 取得评分数量
public float getRating() 取得当前值
public float getStepSize() 取得设置的步长
public boolean isIndicator() 判断是否可以操作
public void setIsIndicator(boolean isIndicator) 是否可以操作
public synchronized void setMax(int max) 设置最大值
public void setNumStars(int numStars) 设置评分星的个数
public void setOnRatingBarChangeListener
(RatingBar.OnRatingBarChangeListener listener) 设置操作监听
public void setRating(float rating) 设置当前值
public void setStepSize(float stepSize) 设置每次增长的步长
样例:
<!--默认五颗星-->
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!--指示器为true,不可操作-->
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="true"/>
<!--指示器为false,可操作-->
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="false"/>
<!--指示器为false,可操作,设置默认星数为6,默认步长为0.5-->
<RatingBar
android:id="@+id/rb_rat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="false"
android:numStars="6"
android:stepSize="0.5"/>
private void intiView(){
rb_rat= (RatingBar) findViewById(R.id.rb_rat);
tv_result= (TextView) findViewById(R.id.tv_result);
rb_rat.setRating((float) 1.5);
rb_rat.setNumStars(6);
rb_rat.setStepSize((float) 1.5);
rb_rat.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
tv_result.setText("总星数:"+ratingBar.getNumStars()+""+" ,方法星数:"+ratingBar.getRating()+" ,步长:"+ratingBar.getStepSize()+",当前监听进度"+rating);
}
***********************************************************************************************************************************************
三、SeekBar的常用方法:
public SeekBar(Context context) 创建SeekBar类的对象
public void setOnSeekBarChangeListener(
SeekBar.OnSeekBarChangeListener l) 设置改变监听操作
public synchronized void setMax(int max) 设置增长的最大值
样例:
<!--设置最大值为100-->
<SeekBar
android:id="@+id/sb_seekbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"/>
public void intView(){
sb_seekbar= (SeekBar) findViewById(R.id.sb_seekbar);
tv_seek= (TextView) findViewById(R.id.tv_seek);
sb_seekbar.setProgress(50);
tv_seek.setMovementMethod(ScrollingMovementMethod.getInstance());
sb_seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
tv_seek.append("当前进度为:"+sb_seekbar.getProgress()+"\n");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
tv_seek.append("开始拖动;"+",当前进度为:"+sb_seekbar.getProgress()+"\n");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
tv_seek.append("结束拖动;"+",当前进度为:"+sb_seekbar.getProgress()+"\n");
}
***********************************************************************************************************************************************
四、ListView的用法
需要哪些东西:1.数据,不止一条,数据的集合,数据集。
2.每一条叫做item,都有自己的布局,需要一个单独的布局,用来定义item的布局。
3.ListView控件
4.我们需要一个类,这个类用于把数据集展示到item布局上面。Adapter:适配器。
ArrayAdapte: 1.在页面中定义了ListView,并在activity中实例化
2.构建数据源,(new List,里面放上字符串)
3.新建ArrayAdapter: ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, str_list);
4.将adapter设置给listview lv.setAdapter(adapter);
自定义的Adapter:1.数据源:可以使用map,也可以使用实体类,都是集合
2.ListView控件
3.item布局不能使用系统的了,应该自定义一个item布局文件,给adapter使用
4.自定义adapter:把数据源展示到若干个item布局上面。
item布局:是listview一条数据的布局,item,类似于模板。
java:循环。。
步骤:1.新建一个包,新建一个实体类CarCompany,int img,String name
2.新建一个list,里面放上carcompany数据
3.新建一个item布局,单独的布局,用来定义item长什么样子,类似于模板。
自定义Adapter步骤:1、新建一个adapter包,在包里新建一个类,继承自BaseAdapter,alt+enter自动提示,重写4个方法
2、定义3个属性:上下文对象
布局加载器
数据源
通过构造函数为上下文对象,为数据源赋值,同时在构造函数中实例化布局加载器
public MyAdapter(List<CarCompany> list, Context context) {
this.list = list;
this.context = context;
inflater = LayoutInflater.from(context);
3、重写getCount();return list.Size();
重写getItem(int postion); return list.get(postion);
重写getItemId(int postion);return postion
4、重写getview方法
加载item布局
实例化item布局中的控件
获取对应位置的数据
将数据展示到控件上面
返回加载的布局view
@Override
public View getView(int position, View convertView, ViewGroup viewGroup) {
View view = inflater.inflate(R.layout.item_list, null);
ImageView iv = (ImageView) view.findViewById(R.id.iv_img);
TextView tv = (TextView) view.findViewById(R.id.tv_name);
CarCompany company = (CarCompany) getItem(position);
iv.setImageResource(company.getImg());
tv.setText(company.getName());
return view;
}
5、在activity中使用adapter
MyAdapter adapter = new MyAdapter(list, this);
lv.setAdapter(adapter);
ListView作用:在有限的空间内展示多条数据(item布局是类似的这种)。
条件:数据集合,数据源
Adapter:将数据源展示到多条item布局上,加载并初始化item布局,然后将数据展示到item上
自定义的adapter可以加载自定义的item布局。
Adapter:getCount();数据源的数量,决定getview执行多少次。
getItem(int position);返回对应位置的数据
getItemId(int postion);返回对应item的id,position
getView();加载item布局,实例化item控件,将对应位置的数据展示到item布局上。
3个属性:Context:上下文对象,初始化布局加载器。
布局加载器,LayoutInflater:布局加载器
数据源:集合(实体类,List)
构造函数给属性赋值。
使用:new Adapter,设置给listview。
***********************************************************************************************************************************************
五、GridView的常用方法
public GridView(Context context) 构造 创建GridView对象
public void setStretchMode(int stretchMode) 普通 android:stretchMode 缩放模式
public void setVerticalSpacing(int verticalSpacing) 普通 android:verticalSpacing 设置垂直间距
public void setHorizontalSpacing(int horizontalSpacing) 普通 android:horizontalSpacing 设置水平间距
public void setNumColumns(int numColumns) 普通 android:numColumns 设置每列显示的数据量,如果设置为auto_fit则表示自动设置
public void setSelection(int position) 普通 设置默认选中项
public void setGravity(int gravity) 普通 android:gravity 设置对齐模式,由Gravity类指定
public void setAdapter(ListAdapter adapter) 普通 设置显示图片集
样例:
<!--显示3列(auto_fit自己适应屏幕),垂直距离为30dp-->
<GridView
android:id="@+id/gv"
android:numColumns="3"
android:verticalSpacing="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</GridView>
public class GridBarActivity extends AppCompatActivity {
private GridView gv;
private String[] names = new String[]{"长安", "沃尔沃", "大众", "宾利", "奔驰"};
private int[] ids = new int[]{R.drawable.changan, R.drawable.vol, R.drawable.das, R.drawable.bl, R.drawable.benz};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grid_bar);
gv= (GridView) findViewById(R.id.gv);
intiGrid();
}
private void intiGrid(){
final List<Map<String,Object>> list =new ArrayList<>();
for (int i = 0; i <names.length ; i++) {
Map<String,Object> map=new HashMap<>();
map.put("name",names[i]);
map.put("img",ids[i]);
list.add(map);
}
String[] from=new String[]{"name","img"};
int[] to=new int[]{R.id.tv_name, R.id.iv_img};
SimpleAdapter adapter=new SimpleAdapter(this,list,R.layout.item_gridview,from,to);
gv.setAdapter(adapter);
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(GridBarActivity.this,"点击"+list.get(position).get("name").toString(),Toast.LENGTH_SHORT).show();
}
});
gv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(GridBarActivity.this,"长按"+list.get(position).get("name").toString(),Toast.LENGTH_SHORT).show();
return true;
***********************************************************************************************************************************************
六、RecycleView的使用方法:
说明:1、RecyclerView:5.0之后的控件,扩展优化,吸收了ViewHolder.
2、RecyclerView的adapter与BaseAdapter不同
3、RecyclerView的adapter:负责创建holder,给holder设置展示的数据。
步骤:
1、添加兼容包,依赖包 File-->project stru-->选中module,Dependes--->加号-->选择recyvlerview的包,添加。
2、创建相关页面Activity--layout:并且实例化相应控件
xml文件: 引入RecycleView布局,给布局添加ID
<android.support.v7.widget.RecyclerView
android:background="@android:color/holo_blue_light"
android:id="@+id/rv_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
Acvitity文件:通过ID实例化RecycleView,
public class RecyclerPhoneActivity extends AppCompatActivity {
private RecyclerView rv_phone;
3、创建自定义实体类Entity并且设置get和set方法;
public class PhoneEntity {
private int img;
private String name,price,countNum;
调用get和set方法
4、自定义item布局样式,为RecycleView设置模板,并且给样例中每一个控件添加ID,以便实例化控件时候赋值
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp">
<ImageView
android:src="@drawable/ihone7plus"
android:id="@+id/img_phone"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_margin="10dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/phone_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ihone7Plus玫瑰金"
android:textSize="20dp"
android:layout_marginTop="50sp"/>……
5、添加数据集List<实体类泛型>
Acvitity中:
private List<PhoneEntity> list;
private int[] ids=new int[]{R.drawable.ihone7plus,R.drawable.mi5s,R.drawable.leshi2,R.drawable.rongyao8};
private String[] phonenames=new String[]{"苹果7Plus,128G玫瑰金","小米5S全网通版,32G亚光金","乐视2原力金32GB内存","荣耀8全网通4GB32G珠光白"};
private String[] phoneprice=new String[]{"¥7188","¥1899","¥1099","¥2229"};
private String[] phonecounter=new String[]{"50353条评价","20353条评价","34553条评价","65053条评价"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_phone);
rv_phone= (RecyclerView) findViewById(R.id.rv_phone);
intiPhone();
}
public void intiPhone(){
list=new ArrayList<>();
for (int i = 0; i < ids.length; i++) {
PhoneEntity phone=new PhoneEntity();
phone.setImg(ids[i]);
phone.setName(phonenames[i]);
phone.setPrice(phoneprice[i]);
phone.setCountNum(phonecounter[i]);
list.add(phone);
}……
6、自定义Adapter:
作用:创建ViewHolder,给holder设置数据展示
继承RecycleView.Adapter<当前类的泛型.MyHolder>,重写里边三个方法
Created by Administrator on 2017/2/20.
步骤:1、先创建一个ViewHolder的内部类MyHolder继承于ViewHolder,在内部类中实例化控件属性
2、让主类RecyclePhoneAdapter继承于RecycleView下的adapter并且给Adapter加上内部类的泛型
主要为了重写3个方法时候不用再强转返回值类型(不设置泛型返回值为父类)
3、新建自定义adapter完成后要在对应主Java代码中( RecyclePhoneAdapter adapter=new RecyclePhoneAdapter(this,list);)使用
并且设置展示样式(
rv_phone.setLayoutManager(new LinearLayoutManager(this));
rv_phone.setAdapter(adapter);)
ps;
rv_phone.addItemDecoration(new DividerItemDecoration(this,LinearLayoutManager.VERTICAL));
public class RecyclePhoneAdapter extends RecyclerView.Adapter<RecyclePhoneAdapter.MyHolder> implements View.OnClickListener{
private Context pContext;
private List<PhoneEntity> list;
private LayoutInflater inflater;
private OnItemClick ItemClickListener=null;
public void setItemClickListener(OnItemClick itemClickListener) {
ItemClickListener = itemClickListener;
}
public RecyclePhoneAdapter(Context pContext, List<PhoneEntity> list) {
this.pContext = pContext;
this.list = list;
inflater=LayoutInflater.from(pContext);
}
@Override
public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=inflater.inflate(R.layout.activity_phone_list,parent,false);
MyHolder holder=new MyHolder(view);
holder.itemView.setOnClickListener(this);
return new MyHolder(view);
}
@Override
public void onBindViewHolder(MyHolder holder, int position) {
PhoneEntity phone=list.get(position);
holder.phone_name.setText(phone.getName());
holder.img_phone.setImageResource(phone.getImg());
holder.phone_price.setText(phone.getPrice());
holder.phone_counter.setText(phone.getCountNum());
holder.itemView.setTag(position);
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public void onClick(View v) {
if(ItemClickListener!=null){
ItemClickListener.onitemclick(Integer.parseInt(v.getTag().toString()));
}
}
class MyHolder extends RecyclerView.ViewHolder{
private ImageView img_phone;
private TextView phone_name;
private TextView phone_price;
private TextView phone_counter;
public MyHolder(View itemView) {
super(itemView);
img_phone= (ImageView) itemView.findViewById(R.id.img_phone);
phone_name= (TextView) itemView.findViewById(R.id.phone_name);
phone_price= (TextView) itemView.findViewById(R.id.phone_price);
phone_counter= (TextView) itemView.findViewById(R.id.phone_counter);
}
}
public interface OnItemClick{
void onitemclick(int position);
}
}
7、 在java代码中使用(在对应的Acvitity中实例化自定义adapter并且调用)
RecyclePhoneAdapter adapter=new RecyclePhoneAdapter(this,list);
adapter.setItemClickListener(new RecyclePhoneAdapter.OnItemClick() {
@Override
public void onitemclick(int position) {
Toast.makeText(RecyclerPhoneActivity.this,"点击:"+list.get(position).getName(),Toast.LENGTH_SHORT).show();
}
});
rv_phone.setLayoutManager(new LinearLayoutManager(this));
rv_phone.setAdapter(adapter);
rv_phone.addItemDecoration(new DividerItemDecoration(this,LinearLayoutManager.VERTICAL))
8、给RecycleView添加自定义分割线divider,用到系统属性@Android:listDivider
1、style文件中:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
========================调用系统属性,添加分割线==============================
<item name="android:listDivider">@drawable/recy_divider</item>
</style>
</resources>
2、自定义drawable文件设置分割线属性:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
==========定义分割线形状===========
android:shape="rectangle">
==========定义分割线填充颜色===========
<solid android:color="@color/colorAccent"></solid>
==========定义分割线高度===========
<size android:height="3dp"></size>
</shape>
9、RecycleView的三种展示方式:
Acvitity中:设置布局展示样式
1、 rv_phone.setLayoutManager(new LinearLayoutManager(this));
2、 rv_phone.setLayoutManager(new GridLayoutManager(this,2));
3、 rv_phone.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));
***********************************************************************************************************************************************
七、TextView中跑马灯效果的实现:
条件:
1、android:ellipsize=”marquee”
2、TextView必须单行显示,即内容必须超出TextView大小
3、TextView要获得焦点才能滚动
mTVText.setText(“超过文本长度的数据");
mTVText.setSingleLine(true);设置单行显示
mTVText.setEllipsize(TruncateAt.MARQUEE);设置跑马灯显示效果
TextView.setHorizontallyScrolling(true); //让文字可以水平滑动
TextView还可以设置跑马灯效果的滚动次数
android:marqueerepeatlimit="1"。1代表1次,-1代表无限循环。
Java代码设置:
mTVText.setMarqueeRepeatLimit(-1);
.xml文件:
<TextView
android:id="@+id/tv_marquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tv_marquee_text"
android:textSize="25sp"
android:focusable="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true"
android:textColor="@color/colorPrimary" />
<!--设置文本最大宽度,超出自动换行-->
<TextView
android:inputType="textMultiLine"
android:ellipsize="none"
android:maxWidth="200dp"
textview.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//下划线
textview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG ); //中间横线(删除线)
textview.getPaint().setAntiAlias(true);// 抗锯齿
.Java文件
public class LampRunActivity extends AppCompatActivity {
private TextView tv_marguee;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lamp_run);
intiTextView();
}
public void intiTextView(){
tv_marguee= (TextView) findViewById(R.id.tv_marquee);
tv_marguee.setSingleLine(true);//设置单行显示
tv_marguee.setHorizontallyScrolling(true);//设置水平滚动效果
// tv_marguee.setMarqueeRepeatLimit(-1);//设置滚动次数,-1为无限滚动,1为滚动1次
************************************************************************************************************************************************
八、ScrollView的用法
注意事项:
1、ScrollView中只能有一个View对象,如果有多个可以用LinerLayout进行嵌套包裹
2、ScrollView只支持垂直方向的滚动
3、TextView有自己的滚动功能,所以可以不需要ScrollView,但是两者结合使用可以提高显示效率
样例: <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
******************************************************
九、EditText用法:
No. 属性名称 描述
1 android:hint 未输入内容时的提示文字
2 android:background 背景
3 android:digits 设置允许输入哪些字符
4 android:inputType 设置输入类型
5 android:lineSpacingExtra 设置行间距
6 android:textColor 设置文本颜色
7 android:lines 行数
8 android:textSize 设置字体大小,推荐单位sp
9 android:textColorHint 提示文字的颜色
10 android:minheight 文本区域最小的高
11 android:minwidth 文本区域最小的款
12 android:minwidth 文字的对齐方式
设置密码是否可见:
et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);//设置密码不可见
et_Pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT);//设置密码可见,如果只设置TYPE_TEXT_VARIATION_PASSWORD则无效
也可以用十六进制设置:
et_pwd.setInputType(0x90);//不可见
et_pwd.setInputType(0x81);//可见
***********************************************************************************************************************************************
十、PopupWindow的用法:
/**
* 没有页面
*/
public void showPopWindow(){
View view=LayoutInflater.from(this).inflate(R.layout.acvitity_popwindow,null);
view.setBackgroundColor(Color.GRAY);//给view视图设置背景颜色(灰色),不然看不到效果
//实例化控件
name = (EditText) view.findViewById(R.id.et_username);
pwd = (EditText) view.findViewById(R.id.et_pwd);
btn_login= (Button) view.findViewById(R.id.btn_login);
btn_cancle= (Button) view.findViewById(R.id.btn_cancle);
//实例化PopupWindow
final PopupWindow window=new PopupWindow(view,600,300);//设置PopupWindow的显示大小
window.setFocusable(true);//设置popupwindow可以获取焦点
//给pupupwindow设置一个背景 透明的,以便点击popupwindow外边时候可以实现消失
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
window.setOutsideTouchable(true);//设置点击外部消失
window.showAsDropDown(btn_popwindow);//显示在按钮下方
window.showAtLocation(view, Gravity.RIGHT,0,0);或者显示在指定父布局上边的指定位置
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = name.getText().toString();
String password = pwd.getText().toString();
Toast.makeText(MainActivity.this, "username:" + username + " pwd:" + password, Toast.LENGTH_SHORT).show();
window.dismiss();//点击登录后自动消失
}
});
btn_cancle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
window.dismiss();//点击取消后自动消失
}
});
}
***********************************************************************************************************************************************
十一、ImageView用法:
No. 属性名称 描述
1 android:adjustViewBounds 设置ImageView是否调整自己的边界来保持所显示图片的长宽比
2 android:maxHeight 图片最大高度
3 android:maxWidth 图片最大宽度
4 android:scaleType 设置所显示的图片如何缩放或移动以适应ImageView的大小。
5 android:src 设置ImageView所显示的Drawable对象的ID。
6 android:background 设置ImageView所展示的背景
ScaleType属性
No. 属性名称 描述
1 matrix 使用matrix方式进行缩放
2 fitXY 横向、纵向独立缩放,以适应该ImageView
3 fitStart 保持纵横比缩放图片,并且将图片放在ImageView的左上角。
4 fitCenter 保持纵横比缩放图片,缩放完成后将图片放在ImageView的中央。
5 fitEnd 保持纵横比缩放图片,缩放完成后将图片放在ImageView的右下角。。
6 center 把图片放在ImageView的中央,但是不进行任何缩放。
7 centerCrop 保持纵横比缩放图片,以使图片能完全覆盖ImageView。
8 centerInside 保持纵横比缩放图片,以使得ImageView能完全显示该图片。
9 scrollbars 进度条显示样式(包裹ImgageView,false表示不显示)
***********************************************************************************************************************************************
十二、TestView的用法
No. 属性名称 描述
1 android:lines 文本行数
2 android:autoLink 超链接
3 android:ems 宽度为N个字符串的宽度
4 android:maxLength 限制文本长度
5 android:lineSpacingExtra 设置行间距
6 android:textColor 设置文本颜色
7 android:textColorLink 设置文本链接的颜色
8 android:textSize 设置字体大小,推荐单位sp
9 android:textStylee 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜)?
10 android:height 文本区域的高
11 android:width 文本区域的款
12 Android:ellipsize 省略号
13 Android:enable 是否可用
***********************************************************************************************************************************************
PS:View组件通用特性
No. 属性名称 描述
1 android:layout_width 定义组件显示的宽度
2 android:layout_height 定义组件显示的长度
3 android:layout_gravity 组件文字的对齐位置
4 android:layout_margin 设置文字的边距
5 android:layout_marginTop 上边距
6 android:layout_marginBottom 下边距
7 android:layout_marginLeft 左边距
8 android:layout_marginRight 右边距
9 android:background 设置背景颜色
属性名称: 使用方法 描述
1 android:padding public void setPadding (int left, int top, int right, int bottom) 下左右内边距
2 android:paddingBottom public void setPadding (int left, int top, int right, int bottom) 底部内边距
3 android:paddingLeft public void setPadding (int left, int top, int right, int bottom) 左侧内边距
4 android:paddingRight public void setPadding (int left, int top, int right, int bottom) 右侧内边距
5 android:paddingTop public void setPadding (int left, int top, int right, int bottom) 填充上边缘
6 android:scaleX public void setScaleX (float scaleX) 设置X轴缩放
7 android:scaleY public void setScaleY (float scaleY) 设置Y轴缩放
8 android:scrollbarSize 设置滚动条大小
9 android:scrollbarStyle public void setScrollBarStyle (int style) 设置滚动条样式
10 android:visibility public void setVisibility (int visibility) 设置是否显示组件