一、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("开始拖动
}
//进度结束时的监听
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
tv_seek.append("结束拖动
}
***********************************************************************************************************************************************
四、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()
重写getItem(int postion)
重写getItemId(int postion)
4、重写getview方法
加载item布局
实例化item布局中的控件
获取对应位置的数据
将数据展示到控件上面
返回加载的布局view
@Override
public View getView(int position, View convertView, ViewGroup viewGroup) {
//加载item布局 将xml布局加载到内存中,形成一个view
View view = inflater.inflate(R.layout.item_list, null)
//实例化item布局上的控件
ImageView iv = (ImageView) view.findViewById(R.id.iv_img)
TextView tv = (TextView) view.findViewById(R.id.tv_name)
//往控件上显示数据
//获取position对应位置的数据
CarCompany company = (CarCompany) getItem(position)
iv.setImageResource(company.getImg())
tv.setText(company.getName())
return view
}
5、在activity中使用adapter
//新建自定义Adapter,并设置给listview
MyAdapter adapter = new MyAdapter(list, this)
lv.setAdapter(adapter)
ListView作用:在有限的空间内展示多条数据(item布局是类似的这种)。
条件:数据集合,数据源
Adapter:将数据源展示到多条item布局上,加载并初始化item布局,然后将数据展示到item上
自定义的adapter可以加载自定义的item布局。
Adapter:getCount()
getItem(int position)
getItemId(int postion)
getView()
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)
//adapter SimpleAdapter 自定义也可
intiGrid()
}
private void intiGrid(){
//构建数据源
final List<Map<String,Object>> list =new ArrayList<>()
for (int i = 0
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
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
//给自定义接口一个实例,并提供下边set方法
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) {
//第二个参数是容器 第三个参数:true使用父布局的布局参数,false使用自己的布局参数
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()
}
//继承自定义接口,重写自定义接口中的方法,给item添加点击事件
@Override
public void onClick(View v) {
//调用自定义接口中的方法,给当前item添加点击事件
if(ItemClickListener!=null){
ItemClickListener.onitemclick(Integer.parseInt(v.getTag().toString()))
}
}
//创建内部类继承于RecycleView.ViewHolder实例化自定义布局中的属性
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)
}
}
// 自定义接口,通过触发不同位置item的方式,调用接口中的方法,实现点击事件的监听效果
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)
************************************************************************************************************************************************
八、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)
也可以用十六进制设置:
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)
//实例化控件
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)
window.setFocusable(true)
//给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) 设置是否显示组件