Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3518171
  • 博文数量: 864
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10634
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(864)

文章存档

2023年(1)

2021年(1)

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: Java

2011-12-23 13:35:19

44.设置控件大小
 LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) aaa.getLayoutParams();
   // 取控件aaa当前的布局参数
  linearParams.height = 365;        // 当控件的高强制设成365象素
  aaa.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件aaa    

45.Android--从路径中提取文件名
    方法一:利用String类
    public String getFileName(String pathandname){  
        
        int start=pathandname.lastIndexOf("/");  
        int end=pathandname.lastIndexOf(".");  
        if(start!=-1 && end!=-1){  
            return pathandname.substring(start+1,end);    
        }else{  
            return null;  
        }            
    }

    方法二:利用正则表达式
        String regEx=".+\\\\(.+)$";   
            String str="C:\\Documents and Settings\\Administrator\\My Documents\\myfile.txt";   
            Pattern p=Pattern.compile(regEx);   
            Matcher m=p.matcher(str);   
            boolean rs=m.find();   
            if(rs){  
               for(int i=1;i<=m.groupCount();i++)   
              {   
                  System.out.println(m.group(i)); //括号内匹配内容  
           }   
            }  

46.键盘挡住输入框解决办法

        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE  |
                WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
                以下选项与输入法模式有关:
        软输入区域是否可见。
        public static final int SOFT_INPUT_MASK_STATE = 0x0f;
        
        未指定状态。
        public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0;
        
        不要修改软输入法区域的状态。
        public static final int SOFT_INPUT_STATE_UNCHANGED = 1;
        
        隐藏输入法区域(当用户进入窗口时)。
        public static final int SOFT_INPUT_STATE_HIDDEN = 2;
        
        当窗口获得焦点时,隐藏输入法区域。
        public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3;
        
        显示输入法区域(当用户进入窗口时)。
        public static final int SOFT_INPUT_STATE_VISIBLE = 4;
        
        当窗口获得焦点时,显示输入法区域。
        public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5;
        
        窗口应当主动调整,以适应软输入窗口。
        public static final int SOFT_INPUT_MASK_ADJUST = 0xf0;
        
        未指定状态,系统将根据窗口内容尝试选择一个输入法样式。
        public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0x00;
        
        当输入法显示时,允许窗口重新计算尺寸,使内容不被输入法所覆盖。
        不可与SOFT_INPUT_ADJUSP_PAN混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。
        public static final int SOFT_INPUT_ADJUST_RESIZE = 0x10;
        
        输入法显示时平移窗口。它不需要处理尺寸变化,框架能够移动窗口以确保输入焦点可见。
        不可与SOFT_INPUT_ADJUST_RESIZE混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。
        public static final int SOFT_INPUT_ADJUST_PAN = 0x20;
        
        当用户转至此窗口时,由系统自动设置,所以你不要设置它。
        当窗口显示之后该标志自动清除。
        public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 0x100;

47.将字符串文字内容复制到系统剪贴板

   ClipboardManager cmb = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
        cbm.setText(et.getText().toString());

48.重执行onCreateDialog

    onCreateDialog(**)产生的dialog会保存状态的,之后打开的dialog内容不会变,要想内容可以动态改变,可以重写onPrepareDialog(int id)函数,
    里面执行removeDialog(id)即可。执行顺序是onCreateDialog(**) --> onPrepareDialog(**)。

49.设置文本,并使文本关键字高亮,用于搜索中
        /**
            allString: 显示文本
          highLightString: 搜索关键字
        */
        void setHighlight(TextView textView, String allString, String highLightString) {
            allString = allString.toLowerCase();
            highLightString = highLightString.toLowerCase();
            int start = allString.indexOf(highLightString);
            if (start < 0) {
                return;
            }
            SpannableStringBuilder style = new SpannableStringBuilder(allString);
            style.setSpan(new BackgroundColorSpan(Color.RED), start, start + highLightString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            textView.setText(style);
        }

50.检测输入文本变化
    
        mTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
            }

            @Override
            public void afterTextChanged(Editable s) {
                queryFriend(s.toString());
            }
        };
        mSearchInputBox.addTextChangedListener(mTextWatcher);   
阅读(1657) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~