zoukankan      html  css  js  c++  java
  • android studio常用控件

    1.Button设置不同的样式

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <!--android:drawable="@drawable/ic_launcher"-->
        <item android:state_pressed="true" >
    
    
            <shape>
    
                  <solid android:color="#ff1234"></solid>
                  <corners android:topLeftRadius="5dp"
                    android:topRightRadius="5dp"
                    android:bottomRightRadius="5dp"
                    android:bottomLeftRadius="5dp"
                    />
    
            </shape>
    
    
        </item>
        <item android:state_focused="true"
            android:drawable="@drawable/ic_launcher" >
    
    
            <shape>
    
                <solid android:color="#ffaeff5d"></solid>
                <corners android:topLeftRadius="5dp"
                    android:topRightRadius="5dp"
                    android:bottomRightRadius="5dp"
                    android:bottomLeftRadius="5dp"
                    />
    
            </shape>
    
            </item>
        <item>
            <shape>
    
                <solid android:color="#ffffb757"></solid>
                <corners android:topLeftRadius="5dp"
                    android:topRightRadius="5dp"
                    android:bottomRightRadius="5dp"
                    android:bottomLeftRadius="5dp"
                    />
    
            </shape>
    
    
        </item>
    
    
    
    
    </selector>
    

     如果是加载图片,item代码更改

     <item android:state_pressed="true" android:drawable="@drawable/ic_launcher">
    

    2.EditText  xml: android:hint="type something here"提示语句  获取text:oast.makeText(this,inputText,Toast.LENGTH_SHORT).show();如果edittext被键盘挡住,需要在androidmanifest中加一句:android:windowSoftInputMode="adjustPan|stateHidden"

    <activity
                android:name="******"
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:screenOrientation="portrait"
                android:theme="@style/AppTheme.NoActionBar">
    android:windowSoftInputMode="adjustPan|stateHidden" </activity>

     editText显示多行

    textMultiLine显示多行  minLines最小行数  gravity="left|top"光标置顶
    <EditText
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_margin="10dp"
                        android:background="null"
                        android:inputType="textMultiLine"
                        android:minLines="6"
                        android:gravity="left|top"
                        android:hint="变更事项"/>
    

    3.ImageView:xml需要:android:src="@drawable/ic_launcher"   代码:imgView.setImageResource(R.drawable.ic_launcher);

    4.ProgressBar 加载进度提示,就是进度条

    <ProgressBar
            android:id="@+id/progressBar1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
    
            />
    

    progressBar.setVisibility(View.GONE);

    5.TextView:跑马灯效果

    android:ellipsize="marquee"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:singleLine="true"
    android:marqueeRepeatLimit="marquee_forever"

    如果有文本框焦点将会没有,跑马灯效果就会停止,所以需要增加一句

    <requestFocus/>

    5.AlertDialog,样式很多,写一个 

    dialog.setPositiveButton方法是确定按钮的点击事件
    dialog.setNegativeButton取消按钮的点击事件

    dialog.setCancelable(false);

    dialog弹出后会点击屏幕或物理返回键,dialog不消失

     

    dialog.setCanceledOnTouchOutside(false);

    dialog弹出后会点击屏幕,dialog不消失;点击物理返回键dialog消失

     AlertDialog.Builder dialog = new AlertDialog.Builder(main.this);
                    dialog.setTitle("this is a dialog");
                    dialog.setMessage("something important");
                    dialog.setCancelable(false);
                    dialog.setPositiveButton("ok",new DialogInterface.OnClickListener(){
                        @Override
                        public void onClick(DialogInterface dialog, int which){
    
                        }
                    });
    
                    dialog.setNegativeButton("cancel",new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which){
    
                        }
                    });
                    dialog.show();
    

    使用alertview创建一个简单的选择列表

    第一步:在xml中创建一个Button 和一个TextView

    第二步:创建选择数组的数据源

    private String []fruits = new String[]{"苹果","香蕉","橘子","凤梨","芒果"};
    

     第三步:展示

     AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    
                    builder.setTitle("请选择你喜欢吃的水果");
                    builder.setItems(fruits,new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            textView.setText(fruits[which]);
                        }
                    });
    
    
                    builder.show();
    

    6.ProgressDialog

    ProgressDialog progressDialog = new ProgressDialog(main.this);
                    progressDialog.setTitle("this is a progressDialog");
                    progressDialog.setMessage("load...");
                    progressDialog.setCancelable(true);
                    progressDialog.show();;

    停止显示progressDialog.dismiss();

    7.ImageView加载网络图片

    package com.android.antking.imageview;  
      
    import java.io.InputStream;  
    import java.net.HttpURLConnection;  
    import java.net.MalformedURLException;  
    import java.net.URL;  
      
    import android.app.Activity;  
    import android.graphics.Bitmap;  
    import android.graphics.BitmapFactory;  
    import android.os.Bundle;  
    import android.util.Log;  
    import android.view.View;  
    import android.widget.ImageView;  
      
    public class MainActivity extends Activity {  
        //定义一个图片显示控件  
        private ImageView imageView;  
        /** Called when the activity is first created. */  
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.main);  
            //图片资源  
            String url = "http://s16.sinaimg.cn/orignal/89429f6dhb99b4903ebcf&690";  
            //得到可用的图片  
            Bitmap bitmap = getHttpBitmap(url);  
            imageView = (ImageView)this.findViewById(R.id.imageViewId);  
            //显示  
            imageView.setImageBitmap(bitmap);  
             
        }  
        /** 
         * 获取网落图片资源  
         * @param url 
         * @return 
         */  
        public static Bitmap getHttpBitmap(String url){  
            URL myFileURL;  
            Bitmap bitmap=null;  
            try{  
                myFileURL = new URL(url);  
                //获得连接  
                HttpURLConnection conn=(HttpURLConnection)myFileURL.openConnection();  
                //设置超时时间为6000毫秒,conn.setConnectionTiem(0);表示没有时间限制  
                conn.setConnectTimeout(6000);  
                //连接设置获得数据流  
                conn.setDoInput(true);  
                //不使用缓存  
                conn.setUseCaches(false);  
                //这句可有可无,没有影响  
                //conn.connect();  
                //得到数据流  
                InputStream is = conn.getInputStream();  
                //解析得到图片  
                bitmap = BitmapFactory.decodeStream(is);  
                //关闭数据流  
                is.close();  
            }catch(Exception e){  
                e.printStackTrace();  
            }  
              
            return bitmap;  
              
        }  
    }  
    

    第二种方式:使用ImageLoader库文件,第一步gitup下载 https://github.com/nostra13/Android-Universal-Image-Loader,导入jar包文件

    androidmanifest ,注册

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    

    dependencies声明

    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    

    使用代码

     DisplayImageOptions options;
    
            options = new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.ic_launcher) // 设置图片在下载期间显示的图片
                    .showImageForEmptyUri(R.drawable.ic_launcher)// 设置图片Uri为空或是错误的时候显示的图片
                    .showImageOnFail(R.drawable.ic_launcher) // 设置图片加载/解码过程中错误时候显示的图片
                    .cacheInMemory(true)// 设置下载的图片是否缓存在内存中
                    .cacheOnDisk(true)// 设置下载的图片是否缓存在SD卡中
                    .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)// 设置图片以如何的编码方式显示
                    .bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型//
                    .resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位
                    .build();// 构建完成
    
            String uri = this.list1.get(position);
    
             ImageLoader imageLoader;
    
            imageLoader = ImageLoader.getInstance();
            imageLoader.init(ImageLoaderConfiguration.createDefault(this.context));
    //        imageLoader.init(ImageLoaderConfiguration.createDefault(this));
            imageLoader.displayImage(uri, holder.imageView, options);
    

    8.progressdialog

    final ProgressDialog dialog = new ProgressDialog(this);  
            dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条的形式为圆形转动的进度条  
            dialog.setCancelable(true);// 设置是否可以通过点击Back键取消  
            dialog.setCanceledOnTouchOutside(false);// 设置在点击Dialog外是否取消Dialog进度条  
            dialog.setIcon(R.drawable.ic_launcher);//  
            // 设置提示的title的图标,默认是没有的,如果没有设置title的话只设置Icon是不会显示图标的  
            dialog.setTitle("提示");  
            // dismiss监听  
            dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {  
      
                @Override  
                public void onDismiss(DialogInterface dialog) {  
                    // TODO Auto-generated method stub  
      
                }  
            });  
            // 监听Key事件被传递给dialog  
            dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {  
      
                @Override  
                public boolean onKey(DialogInterface dialog, int keyCode,  
                        KeyEvent event) {  
                    // TODO Auto-generated method stub  
                    return false;  
                }  
            });  
            // 监听cancel事件  
            dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {  
      
                @Override  
                public void onCancel(DialogInterface dialog) {  
                    // TODO Auto-generated method stub  
      
                }  
            });  
            //设置可点击的按钮,最多有三个(默认情况下)  
            dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定",  
                    new DialogInterface.OnClickListener() {  
      
                        @Override  
                        public void onClick(DialogInterface dialog, int which) {  
                            // TODO Auto-generated method stub  
      
                        }  
                    });  
            dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消",  
                    new DialogInterface.OnClickListener() {  
      
                        @Override  
                        public void onClick(DialogInterface dialog, int which) {  
                            // TODO Auto-generated method stub  
      
                        }  
                    });  
            dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立",  
                    new DialogInterface.OnClickListener() {  
      
                        @Override  
                        public void onClick(DialogInterface dialog, int which) {  
                            // TODO Auto-generated method stub  
      
                        }  
                    });  
            dialog.setMessage("这是一个圆形进度条");  
            dialog.show();  
            new Thread(new Runnable() {  
      
                @Override  
                public void run() {  
                    // TODO Auto-generated method stub  
                    try {  
                        Thread.sleep(5000);  
                        // cancel和dismiss方法本质都是一样的,都是从屏幕中删除Dialog,唯一的区别是  
                        // 调用cancel方法会回调DialogInterface.OnCancelListener如果注册的话,dismiss方法不会回掉  
                        dialog.cancel();  
                        // dialog.dismiss();  
                    } catch (InterruptedException e) {  
                        // TODO Auto-generated catch block  
                        e.printStackTrace();  
                    }  
      
                }  
            }).start();  
    

     dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条的形式为圆形转动的进度条  

     dialog.setCancelable(true);// 设置是否可以通过点击Back键取消  

    dialog.setCanceledOnTouchOutside(false);// 设置在点击Dialog外是否取消Dialog进度条  

    dialog.setIcon(R.drawable.ic_launcher);//  

    1. // 设置提示的title的图标,默认是没有的,如果没有设置title的话只设置Icon是不会显示图标的  
    2.         dialog.setTitle("提示");  

     

  • 相关阅读:
    正整数分解质因数
    水仙花数
    键入任意整数,将之从小到大输出
    有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少
    输入某年某月某日,判断这一天是这一年的第几天?
    java 日期增加
    oracle数据库 ORA-01461: can bind a LONG value only for insert into a LONG column解决方案
    JAVA实现图片叠加效果
    JAVA_GET请求URL
    sqlserver-触发器-判断更新了哪个字段。
  • 原文地址:https://www.cnblogs.com/hualuoshuijia/p/6894007.html
Copyright © 2011-2022 走看看