android 格式化本地时间

本文介绍了Android中格式化本地时间的简便方法,并提供了在代码中设置TextView drawableLeft属性、缩放图片的技巧。同时,讨论了log工具类的使用,以及如何在Android Studio中导入SlidingMenu项目,还涵盖了获取上下文和运用ArrayAdapter的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单易用格式化本地时间的方法:

        DateFormat dateInstance = getDateInstance();
        DateFormat dateTimeInstance = getDateTimeInstance();
        DateFormat timeInstance = getTimeInstance();

        String s1 = dateInstance.format(new Date());
        String s2 = dateTimeInstance.format(new Date());
        String s3 = timeInstance.format(new Date());
        System.out.println(s1);//2017年2月8日
        System.out.println(s2);//2017年2月8日 下午5:39:50
        System.out.println(s3);//下午5:41:17

ImageView 的contentDescription属性 :
如果您控件的图片没有设置或图片找不到啦,显示不出来了,就显示contentDescription的设置文字!

在代码中设置TextView的drawableLeft属性和改变图片的大小

使用TextView设置drawableLeft属性比用一个ImageView+一个TextView方便。
在代码中动态设置TextView的drawableLeft属性:

Drawable drawable= getResources().getDrawable(R.drawable.drawable);  
/// 这一步必须要做,否则不会显示.  
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());  
myTextview.setCompoundDrawables(drawable,null,null,null); 

但是由于图片尺寸太小,得放大图片。drawable的方法setBounds就是去设置下绘制的范围。drawable.setBounds(int left, int top, int right, int bottom)其实他让你传入的是四个顶点坐标,然后编译器进行运算求出矩形的长宽。我们可以直接在left、top传入0,right、bottom传入要绘制图片的宽和高就行了。
因此,我将代码改为drawable.setBounds(0, 0, drawable.getMinimumWidth()*2, drawable.getMinimumHeight()*2);图片被绘制为原来的2倍,实现了图片的放大。

TextView可以通过setCompoundDrawables来设置图片显示在文字的上下左右的地方。

缩放图片

    /**
     * 缩放图片
     * @param bitmap
     * @param newWidth
     * @param newHeight
     * @return
     */
    public static Bitmap getBitmap(Bitmap bitmap, int newWidth, int newHeight) {
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
        //缩放比列
        float scaleWidth = (float) newWidth / width;
        float scaleHeight = (float) newHeight / height;
        Matrix matrix = new Matrix();
        matrix.postScale(scaleWidth,scaleHeight);
        return Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
    }

log工具类

public class LogUtils {

    public static boolean isDebug = true ;

    public static void logdHu(String msg){
        if(isDebug){
            Log.d("hu", "logdHu: "+msg);
        }
    }

    public static void logdWang(String msg){
        if(isDebug){
            Log.d("wang", "logdWang: "+msg);
        }
    }
}

将SlidingMenu导入AndroidStudio文章:

http://www.cnblogs.com/wfm542171065/p/5384167.html
设置SlidingMenu的代码:

        setContentView(R.layout.activity_main);
        setBehindContentView(R.layout.leftmenu);

        // 获取SlidingMenu
        SlidingMenu slidingMenu = getSlidingMenu();
//        slidingMenu.toggle();//开关 (判断SlidingMenu状态,如果关闭--打开,如果打开--关闭)
//        toggle();//slidingMenu.toggle();
        // 1. 打开方式 (全屏TOUCHMODE_FULLSCREEN,边缘margin,不可打开none)
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);// 通过前边界面(内容)打开
        // 2. 菜单的位置(模式)(左,右,左右)
        slidingMenu.setMode(SlidingMenu.LEFT);
        // 3. 菜单的偏移宽度
        // slidingMenu.setBehindOffset(180);//int px *****不能指定resid
        slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);// 资源id 尺寸 -- dimens
        // 4. 分割线样式
        slidingMenu.setShadowDrawable(R.drawable.shadow);
        // 5. 分割线宽度
        // slidingMenu.setShadowWidth(pixels);//****不能指定resid
        slidingMenu.setShadowWidthRes(R.dimen.shadow_width);

获取上下文

  1. Activity – this (activity继承上下文)
  2. Fragment – getActivity() 获取当前Fragment挂载的Activity对象
  3. 自定义控件View – getContext()
  4. 应用级别的上下文 – getApplicationContext();

获取类名

getClass().getSimpleName();//类名
getClass().getName();//全名(包名+类名)

android 自带的ArrayAdapter

其布局就是一个TextView.

String[] datas = {"111","222","333"};
        ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1,android.R.id.text1,datas);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值