精华内容
下载资源
问答
  • https://blog.csdn.net/guozhaohui628/article/details/71870530 方法参照博客,生成dimens方法看截图
  • Android dimens适配

    2015-12-28 11:22:05
    Android屏幕宽度不同的手机做的适配,可以适配95%以上的手机。
  • 这是android工程中资源目录中的配置文件自动生成工具
  • 该资源是用dimens方式适配android屏幕多分辨率适配的代码包,res资源文件包
  • Android dimens读取

    2021-06-03 08:38:12
    重新总结,对于dp和sp来说,这几个函数效果一样,不过对于px来说就不一样啦,评论里说的很对.10.5px10.5dp10.5spfloat px1= getResources().getDimension(R.dimen.d_px10_5);int px2= getResources()....

    重新总结,对于dp和sp来说,这几个函数效果一样,不过对于px来说就不一样啦,评论里说的很对.

    10.5px

    10.5dp

    10.5sp

    float px1= getResources().getDimension(R.dimen.d_px10_5);

    int px2= getResources().getDimensionPixelOffset(R.dimen.d_px10_5);

    int px3= getResources().getDimensionPixelSize(R.dimen.d_px10_5);

    L.d(TAG," d_px10_5 getDimension = "+px1);

    L.d(TAG," d_px10_5 getDimensionPixelOffset = "+px2);

    L.d(TAG," d_px10_5 getDimensionPixelSize = "+px3);

    float dp1= getResources().getDimension(R.dimen.d_dp10_5);

    int dp2= getResources().getDimensionPixelOffset(R.dimen.d_dp10_5);

    int dp3= getResources().getDimensionPixelSize(R.dimen.d_dp10_5);

    L.d(TAG," d_dp10_5 getDimension = "+dp1);

    L.d(TAG," d_dp10_5 getDimensionPixelOffset = "+dp2);

    L.d(TAG," d_dp10_5 getDimensionPixelSize = "+dp3);

    float sp1= getResources().getDimension(R.dimen.d_sp10_5);

    int sp2= getResources().getDimensionPixelOffset(R.dimen.d_sp10_5);

    int sp3= getResources().getDimensionPixelSize(R.dimen.d_sp10_5);

    L.d(TAG," d_sp10_5 getDimension = "+sp1);

    L.d(TAG," d_sp10_5 getDimensionPixelOffset = "+sp2);

    L.d(TAG," d_sp10_5 getDimensionPixelSize = "+sp3);

    输出

    E: d_px10_5 getDimension = 10.5

    E: d_px10_5 getDimensionPixelOffset = 10

    E: d_px10_5 getDimensionPixelSize = 11

    E: d_dp10_5 getDimension = 42.0

    E: d_dp10_5 getDimensionPixelOffset = 42

    E: d_dp10_5 getDimensionPixelSize = 42

    E: d_sp10_5 getDimension = 42.0

    E: d_sp10_5 getDimensionPixelOffset = 42

    E: d_sp10_5 getDimensionPixelSize = 42

    转换

    /**

    * dp转换成px

    */

    public static int dp2px(Context context,float dpValue){

    float scale=context.getResources().getDisplayMetrics().density;

    return (int)(dpValue*scale+0.5f);

    }

    /**

    * px转换成dp

    */

    public static int px2dp(Context context,float pxValue){

    float scale=context.getResources().getDisplayMetrics().density;

    return (int)(pxValue/scale+0.5f);

    }

    /**

    * sp转换成px

    */

    public static int sp2px(Context context,float spValue){

    float fontScale=context.getResources().getDisplayMetrics().scaledDensity;

    return (int) (spValue*fontScale+0.5f);

    }

    /**

    * px转换成sp

    */

    public static int px2sp(Context context,float pxValue){

    float fontScale=context.getResources().getDisplayMetrics().scaledDensity;

    return (int) (pxValue/fontScale+0.5f);

    }

    展开全文
  • 自动生成Android dimens.xml文件

    千次阅读 2020-03-22 13:37:27
    Android开发日常中,相信对dimens.xml文件还是很熟悉的,我们会把单位写在这个文件里,而不用直接硬编码在布局里。当然dimems.xml还有另一个用途,就是官方出的屏幕分辨率适配方案,不同分...

    前言

    好久没更新内容了,现在疫情差不多稳定了,人们又开启了丰富多彩的娱乐活动。程序猿们早就开始了工作,其实这段时间发生了很多事,我也不知道写什么好,谁知道未来会怎么样呢?不bb了,生活还得继续。
    在Android开发日常中,相信对dimens.xml文件还是很熟悉的,我们会把单位写在这个文件里,而不用直接硬编码在布局里。当然dimems.xml还有另一个用途,就是官方出的屏幕分辨率适配方案,不同分辨率下读取不同的dimens.xml文件,分别在不同目录下:

    ./app/src/main/res/values-sw480dp-land/dimens.xml  
    ./app/src/main/res/values-sw600dp-land/dimens.xml  
    ./app/src/main/res/values-sw720dp-land/dimens.xml  
    ./app/src/main/res/values-sw800dp-land/dimens.xml  
    ./app/src/main/res/values-w820dp/dimens.xml
    

    当然屏幕适配方案有很多,我比较喜欢用今日头条的方案,令人拍案叫绝,在这里我就不赘述相关内容了,感兴趣的小伙伴可以去看看。

    正文

    上面的内容只是介绍dimen.xml文件,下面开始正文内容,人工处理这些dimens.xml文件毕竟是个体力活,弄起来比较麻烦。程序员嘛,当然要从重复的无意义的活动中抽身出来,那是机器干的事,哈哈哈哈,所以就有了下面这段代码:

    public class GenerateDimenTool {
        public static void main(String[] args) {
            StringBuilder sw400 = new StringBuilder();
            //添加xml开始的标签
            String xmlStart = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
                    "<resources>\n";
            sw400.append(xmlStart);
            //添加内容
            for (int i = 0; i <= 1920; i++) {
    //            此处name后的标签名可以自定义"margin_"随意更改
                String start = "<dimen name=\"dimen_" + i + "\">";
                String end = "dp</dimen>";
                sw400.append(start).append(i).append(end).append("\n");
            }
            //添加xml的尾标签
            sw400.append("</resources>");
            String sw400file = "./app/src/main/res/values/dimens.xml";
            writeFile(sw400file, sw400.toString());
        }
    
        public static void writeFile(String file, String text) {
            PrintWriter out = null;
            try {
                out = new PrintWriter(new BufferedWriter(new FileWriter(file)));
                out.println(text);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            out.close();
        }
    }
    

    实施

    这一节的内容,如果上面已经看明白了,基本上就可以忽略了。

    第一步:打开Android Studio,可以在你项目目录下,新建一个tools文件夹,毕竟不要跟工程文件混在一起比较好,然后新建一个类,将上述代码copy过去。
    在这里插入图片描述
    第二步:如图,将这个文件run起来,等执行结束,然后你会在对应目录下看到生成的dimens.xml文件。就是这么简单方便。
    在这里插入图片描述最终效果:是不是很方便呀呀呀呀呀在这里插入图片描述

    展开全文
  • 前言:android中常用的两种单位dp和sp,每个项目都会用到,自己一行一行的复制更改数字,太过繁琐,程序员哪能吃得了这苦 1.权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE...

    前言:android中常用的两种单位dp和sp,每个项目都会用到,自己一行一行的复制更改数字,太过繁琐,程序员哪能吃得了这苦

    1.权限

      

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

         6.0以上设备动态申请,我这里直接申请了,不做其他判断。。。。。

    private static String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
    
      @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ActivityCompat.requestPermissions(this, permissions, 1);
    }

    2.写入本地,因为android官方建议我们用偶数写布局所以,我这里是生成字体大小,生成dimens如法炮制

    private void write() {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        String str = "";
                        for (int i = 0; i < 100; i++) {
                            if (i % 2 == 0)
                                str += "<dimen name=\"font_" + i + "\">" + i + "sp</dimen> \n";
                        }
                        try {
    //                        data/data/com.****/file/font.txt
                            FileOutputStream fOut = openFileOutput("font.txt", MODE_PRIVATE);
                            OutputStreamWriter osw = new OutputStreamWriter(fOut);
                            osw.write(str);
                            osw.flush();
                            osw.close();
                        } catch (IOException ioe) {
                            ioe.printStackTrace();
                        }
                    }
                }).start();
            }

    3.最后结果如下,通过工具拷贝出来,大功告成

    展开全文
  • 包含: 1.大多数android手机屏幕分辨率的dimens文件 2.dimens文件生成工具(可以按自己设定的分辨率生成dimens文件) 3.dimens文件生成工具使用说明的相关文章
  • 关于dimens适配的好处和方法,我就不介绍了,请点击:android各版本分辨率适配(项目亲测)本文重点说下,当遇到文中提供的dimens文件没有的分辨率如何去添加,比如(新分辨率)新机发布。第一步:下载文件,解压到D盘...

    关于dimens适配的好处和方法,我就不介绍了,请点击:

    android各版本分辨率适配(项目亲测)

    本文重点说下,当遇到文中提供的dimens文件没有的分辨率如何去添加,比如(新分辨率)新机发布。

    第一步:下载文件,解压到D盘


    第二步:使用cmd命令进入文件夹。


    第三步:输入以下代码

    java -jar autolayout.jar 750 1334 720,1184_1080,1812_1080,1776

    720,1184 1080,1812 1080,1776 分别为特殊分辨率,这里举例是3组,想要几个自己写


    这样就成功了,我们进入res文件夹下看


    至于如何使用,请看前面链接文章

    展开全文
  • 我们项目里面用的就是这个 解决了屏幕适配的问题 如果有什么问题 请留意
  • Android 工程里面values文件夹有dimens.xml文件,为了适配不同的分辨率,例如values-sw400dp,values-sw600dp,values-sw720dp,如果自己去生成这几个文件夹,需要根据values里面的dimens.xml进行计算,然后修改,这个...
  • 1.首先安装插件ScreenMatch,安装成功之后android studio会提示重启 2.在res->values下创建一个dimens文件,将以下代码复制进去。如果不创建这个文件一下操作会不成功导致项目重启。 <dimen name=common_margin>@...
  • 自动生成 android dimens

    2017-05-04 11:15:36
    自动生成 android dimens
  • Android屏幕适配:dimens自动生成工具以及使用方法,亲测好用,需要通过多套dimensandroid屏幕适配的同学可以下载了,里面包括使用方法,方便易懂
  • android dimens转换工具

    2016-08-08 14:05:49
    windows版dimens自动转换工具
  • Android默认dimens

    2018-08-21 10:07:06
    Android dimens大全包括常用的dp,常用的sp,如有需要其它的可自行自己添加
  • 如下 :slidingMenu.setBehindWidth(R.dimen.sliding_menu_offset); 我通过这一行获取200dp这个值,但是R.dimen.sliding_menu_offset返回的值不是200dp。 而是一串数字 08-14 23:02:09.586: I/System.out(2279): ...
  • 前言首先说明,我仍然采用的是dimens适配。但是dimens适配很早就出现了,我为什么又要说是最新的呢?我的意思是可以适配到最新的手机。仍然不清楚px、density、dpi、dp之间关系的小伙伴可以看我另外一篇文章,讲得也...
  • 工具的下载连接 工具的用法: 第一步:解压DimensEx.rar,里面有一个工具和一个dimens.xml模板,该dimens.xml中包函了...第三步:开始写布局文件,写的时候如果有要设置大小,则不要直接写成如:android:layout_w...
  • Android dimens 生成类

    2017-08-16 13:36:59
    "android.permission.READ_EXTERNAL_STORAGE" > uses-permission > < uses-permission android :name= "android.permission.WRITE_EXTERNAL_STORAGE" > uses-permission > final Resources resources...
  • 在过去多个项目中一直使用dimens适配,这种适配方式的优点很明显,不用管什么dp还是dpi这些东西,只需要以一种屏幕分辨率为基准(例如1280x720,相当于把屏幕宽分成720份,高分成1280份),生成对应屏幕分辨率的的dimens文件...
  • 1.dimens.xml文件: <resources><dimen name="area_margin_top">100dp</dimen></resources> 2.layout.xml中调用 //<LinearLayout ...
  • android中官方建议的屏幕适配方式,通过根据不同的分辨率在工程的res文件夹下自动建立不同的尺寸文件夹,每个文件夹下都自动生成dimens.xml文件。
  • 安卓dimens在线生成器

    2018-09-13 17:07:20
    dimens在线生成器,生成各大机型,适配安卓尺寸。解除烦恼。 dimens在线生成器,生成各大机型,适配安卓尺寸。解除烦恼。 dimens在线生成器,生成各大机型,适配安卓尺寸。解除烦恼。
  • android中官方建议的屏幕适配方式,通过根据不同的分辨率在工程的res文件夹下建立不同的尺寸文件夹,每个文件夹下都建立dimens.xml文件。然后根据不同的尺寸在dimens.xml文件夹中分别计算配置不同的dp或者sp单位。...
  • Android 生成Dimens文件

    2020-12-24 04:25:48
    0sp1sp2sp3sp4sp5sp6sp7sp8sp9sp10sp11sp12sp13sp14sp15sp16sp17sp18sp19sp20sp21sp22sp23sp24sp25sp26sp27sp28sp29sp30sp31sp32sp33sp34sp35sp36sp37sp38sp39sp40sp41sp42sp43sp44sp45sp46sp47sp48sp49sp50sp51sp52...
  • 日常工作中屏幕适配根据官方的指示,我们需要生成不同的values路径,在其内添加多个dimens.xml文件,如果我们自己手动计算,工作量不可谓不大,所以用到此工具类,工作瞬间完成.
  • 文本区域按钮150px100px30mm10mm#f00文本...在layout文件夹下建立名为test_dimens.xml的文件,如下:android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical">an...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,539
精华内容 3,415
关键字:

androiddimens