zoukankan      html  css  js  c++  java
  • Android开发问题总结(一)

    这是日常工作中遇到的问题,汇总下来以备日后查看

    1、字体修改: as下assets文件加的创建,修改文字的字体,目前只支持ttf格式

    setTypeFace(tv_luckydraw_rule, "fonts/LanTingZhongCuHei.TTF");
    /**
    * 设置字体
    *
    * @param mTextView
    * @param font
    */
    private void setTypeFace(TextView mTextView, String font) {
    Typeface typeFace = Typeface.createFromAsset(getAssets(), font);
    mTextView.setTypeface(typeFace);
    }
    

    2、让ExpandableListView的group取消点击监听

    listview..setOnGroupClickListener(this);
    /**
    * 取消group的点击监听
    */
    @Override
    public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) {
    return true;
    }
    

    3、EditText降输入的小写字母自动,变化为大写字母(注:设置完之后只能输入大写字母)

    import android.text.method.ReplacementTransformationMethod;
    
    /**
    * @author bruce.z
    * 
    */
    public class AllCapTransformationMethod extends ReplacementTransformationMethod {
    
    @Override
    protected char[] getOriginal() {
        char[] aa = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j','k','l','m','n','o','p','q','r','s','t','u','v',    'w','x','y','z' };
        return aa;
    }
    
    @Override
    protected char[] getReplacement() {
        char[] cc = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J','K','L','M','N','O','P','Q','R','S','T','U','V',    'W','X','Y','Z' };
        return cc;
    }
    
    }
    	
    editext.setTransformationMethod(new AllCapTransformationMethod ());
    

    4、TimePickerDialog,选择0-9分钟时,显示为10:0 10:1,要改成 10:00 10:01 的解决方式

    /**
    * 设置时间选择器
    */
    private void setTimePickerDialog() {
    mCalendar = Calendar.getInstance();
    mCalendar.setTimeInMillis(System.currentTimeMillis());
    final int hour = mCalendar.get(Calendar.HOUR_OF_DAY);
    int minute = mCalendar.get(Calendar.MINUTE);
    new TimePickerDialog(this,new TimePickerDialog.OnTimeSetListener() {
    
    @Override
    
    public void onTimeSet(TimePicker view,int hourOfDay,int minute)
    {
    
    String sHour = hour < 10 ? "0" + hour : "" + hour;
    String sMinutes = minute < 10 ? "0" + minute : ""
    + minute;
    tv_flight_start_time.setText(sHour + ":" + sMinutes);
    }
    
    }, hour, minute, true).show();
    }
    

    5、editText设置软键盘删除键监听

    editText.setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View view, int i, KeyEvent keyEvent) {
                    if (i == KeyEvent.KEYCODE_DEL
                            && keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
                        editText.setText("");
                        return true;
                    }
                    return false;
                }
    
            });
    

    6、应用商店有同名的APP,需要认领应用一致的签名写入空包中,签名写入空白apk

    jarsigner-verbose -keystore D:oldClient -signedjar D:TestSign_OK.apk D:TestSign.apkjsj

    jarsigner -verbose -keystore [您的私钥存放路径]-signedjar [签名后文件存放路径][未签名的文件路径] [您的证书名称]

    7、TextView过长隐藏部分文字,可指定开头,中部,结尾等

    TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下:

    1.android:ellipsize=”start”—–省略号显示在开头

    2.android:ellipsize=”end”——省略号显示在结尾

    3.android:ellipsize=”middle”—-省略号显示在中间

    4.android:ellipsize=”marquee”–以跑马灯的方式显示(动画横向移动)

    还需将文字设置成maxline=1,指定固定宽度

    8、解决RecycleView中item中子View,setVisibility为GONE隐藏视图但是现实空白的方法

    public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
        ...
    
        public void setVisibility(boolean isVisible){
            RecyclerView.LayoutParams param = (RecyclerView.LayoutParams)itemView.getLayoutParams();
            if (isVisible){
                param.height = LinearLayout.LayoutParams.WRAP_CONTENT;
                param.width = LinearLayout.LayoutParams.MATCH_PARENT;
                itemView.setVisibility(View.VISIBLE);
            }else{
                itemView.setVisibility(View.GONE);
                param.height = 0;
                param.width = 0;
            }
            itemView.setLayoutParams(param);
        }
    
        public ViewHolder(View itemView) {
            super(itemView);
            ...
        }
    }
    
  • 相关阅读:
    第四周查漏补缺20165307
    第四周作业 20165307
    第三周作业 20165307
    20165307 第一次测试总结
    20165307 预备作业3 Linux安装及学习
    20165307 学习基础和C语言基础调查
    20165307 我期望的师生关系
    第十周课下补做
    20165336 2016-2017-2 《Java程序设计》第9周学习总结
    20165336 实验三 敏捷开发与XP实践
  • 原文地址:https://www.cnblogs.com/cloud9527/p/13161447.html
Copyright © 2011-2022 走看看