zoukankan      html  css  js  c++  java
  • Android小笔记

    一、ProgressBar控制转速

    <ProgressBar
            android:id="@+id/pb"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:indeterminateDrawable="@drawable/anim_progress_rotate"/>

    anim_progress_rotate.xml

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
        <item 
            android:left="2dp"
            android:top="2dp"
            android:right="2dp"
            android:bottom="2dp"
            >
            <rotate
                android:drawable="@drawable/loading"
                android:fromDegrees="0.0"
                android:pivotX="50.0%"
                android:pivotY="50.0%"
                android:toDegrees="1080"  //转速的问题只要修改android:toDegrees的值,将值变大点就好了,推荐改为1080
    /> </item> </layer-list>

    二、判断TextView是否超出加省略号

      通过指定android:ellipsize="end" android:singleLine="true" 可以让TextView自动截断超出部分并且添加省略号。但是如何判断一个TextView是否被截断了呢?

     public float measureTextLength(TextView tv) {
             if (paint == null) {
                 paint = new Paint();
             }
             paint.setTextSize(tv.getTextSize());
             return paint.measureText(tv.getText().toString());
        }

      上面方法可以算文字如果一行呈现的话需要多长的长度,判断是否大于两行的方法:(((int) measureTextLength((TextView) v) + 0.5f) + ((TextView) v).getPaddingLeft() + ((TextView) v)
                                    .getPaddingRight()) / ((TextView) v).getWidth() > 2

      就是排除Textview两边的pandding的距离 然后再除以本身这个组件的长度,实际操作再自行调整。

    三、java获取时间戳

    //方法 一
    System.currentTimeMillis(); 
    //方法 二
    Calendar.getInstance().getTimeInMillis();
    //方法 三
    new Date().getTime();

      在网上看到,System.currentTimeMillis() 这种方式速度最快。有机会我也试试比较一下

    四、Fragment 不响应 onActivityResult方法

      实际开发中,在使用fragment 和 fragmentActivity组合,调用startActivityForResult方法可能没有响应,问题解决了,总结一下正确的调用方式。

      1.在fragment.java 中使用getActivity().startActivityForResult(intent,code);

       这种情况下fragmentActivity下的onActivityResult方法被调用。fragment中的onActivityResult不会被调用。所以应该将对应的onActivityResult写到fragmentActivity下

      2.在fragment.java 中使用startActivityForResult(intent,code);

      这种情况下fragmentActivity下的onActivityResult方法被调用,同时注意的是如果fragmentActivity下的onActivityResult方法调用了super.onActivityResult方法,fragment中的onActivityResult也会被调用。

    五、找不到android-support-v4 包的解决办法

      Project->properties->Java Build Path->Libraries->Add External Jars中加入sdk目录下的extras/android/support/v4/android-support-v4.jar

  • 相关阅读:
    在网页中用JavaScript控制DIV进行预览打印
    用Javascript实现汉字生成拼音
    在JavaScript中调用window.print打印指定div
    Bootstrap导航菜单实现
    Sublime快捷键
    概念中的DDD(转载)
    ASP.NET反射 (转载)
    JS倒叙方法
    (c#疑问)static的优点是什么?为什么要使用static 变量或函数??
    SQL游标示例
  • 原文地址:https://www.cnblogs.com/xuepeng0521/p/4259918.html
Copyright © 2011-2022 走看看