Android中常用基本控件的使用方法和步骤(.txt)

来源:互联网 发布:淘宝网加厚牛仔裤 编辑:程序博客网 时间:2024/04/30 01:58
一、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) {            //加载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();数据源的数量,决定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);        //adapter SimpleAdapter 自定义也可        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));//像ListView一样展示                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);//将自定义的布局传给MyHolder内置处理        holder.itemView.setOnClickListener(this);//为当前item设置点击事件        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);//将item位置设置成标签,    }    @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));//像ListView一样展示        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));//像ListView一样展示      2、 rv_phone.setLayoutManager(new GridLayoutManager(this,2));//像GridView一样展示      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            设置字体大小,推荐单位sp9   android:textColorHint       提示文字的颜色10  android:minheight           文本区域最小的高11  android:minwidth            文本区域最小的款12  android:minwidth            文字的对齐方式***********************************************************************************************************************************************十、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           横向、纵向独立缩放,以适应该ImageView3   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                设置字体大小,推荐单位sp9   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)                                 设置是否显示组件
0 0