Android技术知识Android开发经验谈Android开发

android开发实用小技巧

2018-08-22  本文已影响78人  waiwaaa

字符串相关

String.format("money:¥%.2f",1.00);  
<resources>  
    <string name="format">money:$%.2f</string>  
</resources>  
getResources().getString(R.string.format,1.00); 
List<String> list = new ArrayList<>(Arrays.asList("翁", "啊", "好", "月"));
Log.d(TAG, "before sort: " + list);
Collections.sort(list, Collator.getInstance(Locale.SIMPLIFIED_CHINESE));

View相关

public void onDraw(Canvas canvas){  
            super.onDraw(canvas);  
            TextPaint tp = new TextPaint();
            tp.setColor(Color.BLUE);
            tp.setStyle(Style.FILL);
            tp.setTextSize(50);
            String message = "这里是一个long long long long long long long long long long long long long text,自己看着换行显示吧,哈 哈";
            StaticLayout myStaticLayout = new StaticLayout(message, tp, canvas.getWidth(), Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
            myStaticLayout.draw(canvas);
            canvas.restore();
 }  
public Bitmap createViewBitmap(View v) {  
    Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(),  
            Bitmap.Config.ARGB_8888);  
    Canvas canvas = new Canvas(bitmap);  
    v.draw(canvas);  
    return bitmap;  
} 
  public static Bitmap getBitmapByView(ScrollView scrollView) {
        int h = 0;
        Bitmap bitmap = null;
        // 获取scrollview实际高度
        for (int i = 0; i < scrollView.getChildCount(); i++) {
            h += scrollView.getChildAt(i).getHeight();
            scrollView.getChildAt(i).setBackgroundColor(
                    Color.parseColor("#ffffff"));
        }
        // 创建对应大小的bitmap
        bitmap = Bitmap.createBitmap(scrollView.getWidth(), h,
                Bitmap.Config.RGB_565);
        final Canvas canvas = new Canvas(bitmap);
        scrollView.draw(canvas);
        return bitmap;
    }
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:text="这段话只在预览时能看到,运行以后就看不到了" />

AndroidManifest.xml

资源

组件相关

ActivityOptions opts = ActivityOptions.makeScaleUpAnimation(view, 0, 0,
            view.getWidth(), view.getHeight());
startActivity(new Intent(MainActivity.this, AnimationActivity.class),
            opts.toBundle());
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
//DisplayMetrics{density=3.0, width=1080, height=1920, scaledDensity=3.0, xdpi=428.625, ydpi=427.789}

Resources.getSystem().getDisplayMetrics().density可以不用 Context 也能获取屏幕密度哦

其它

///取name值
UrlQuerySanitizer sanitizer = new UrlQuerySanitizer("http://xxx.com/?name=d");
sanitizer.setAllowUnregisteredParamaters(true);
String name = sanitizer.getValue("name");

样式

为你的app添加默认布局样式,比如:每一个控件都需要写widthheight属性,然而很多的控件的宽高属性都是wrap_content,那么我们可以通过在style文件添加如下样式,控件的宽高默认都是wrap_content样式啦

<style name="Theme.YourApp" parent="android:style/Theme.Light">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
</style>

Gradle

版本

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
上一篇 下一篇

猜你喜欢

热点阅读