Code Monkey home page Code Monkey logo

screenadaptation's Issues

请问下,我这种情况是怎样填写base_dp

新起一个平板项目,屏幕分辨率是1366x768,屏幕尺寸是10.6寸,dpi未知,density未知,手头暂无此设备平板A。
但手上有一台屏幕分辨率1920x1080,屏幕尺寸是21.5寸,dpi是160,density是1.0,smallestWidthDp是1080dp的平板B,请问下我怎样填写base_dp=768还是1080,在这个手头上设备平板B,重新生成生成相应的dimens文件,来适配屏幕分辨率是1366x768,屏幕尺寸是10.6寸这台设备?
附问下,平板怎样做适配,我看了文章,不太明白。应该怎样填写base_dp,这个base_dp怎样确定,UI只给一个px的设计图,比如1366x768或者1920x1080,其它信息不知。我看到base_dp跟设备的smallestWidthDp、dpi、density有关的?

求教华为p9关于导航栏的适配方案

华为P9是手动控制导航栏是否显示的。当导航栏隐藏的时候,适配方案是1080x1920的。在进入应用后,显示导航栏,再进入另一个界面,却又适配的另外的方案,导致界面差距太大。这样的情况如何解决呢?大佬

适配最小宽度的问题

屏幕最小宽度的,设计图的基准的屏幕最小宽度是怎么计算的,demo中为什么是360,
假如UI用的基准尺寸是750*1334,那么我的smallestWidth是多少,也是360吗,还是每个手机都不一样,那我应该用smallestWidth的作为基准

作者有没有考虑做成一个远程依赖

如题,这样做的好处有两个:

  1. 不用在项目中看到这些通配符适配的代码,降低项目的复杂度
  2. 更新迭代的成本比较低,只需修改远程依赖的版本即可

适配的小问题??

UI在720x1280上做的图,其中一个按钮的宽高分辨为:宽720px,高为100px,字体大小为30px,
因为基准是在480*320
手机不论是720x1280还是1080x1920的上面

假如要是在UI在1080x1920上做的图 宽720px,高为100px,字体大小为30px
手机不论是720x1280还是1080x1920的上面

跟手机的分辨率没有关系,手机会去不同的文件夹去寻找吗,是这个意思吗

高度适配

你好,这个是以720X1280的宽度基准来适配, 我测试好像高度好像不能完全适配。比如说720X1280的屏幕像华为的有些机子真实的屏幕高度并不是这个有虚拟导航栏,我设置高度为640dp 并不能兼容,能告知下这个是不兼容 还是智能用ScrollView 嵌套超出

横屏怎么适配?

应用如果是竖屏的情况下没问题,但如果屏幕旋转成横屏(如平板),则底部的按钮还是显示的是竖屏时的宽度.

请教多种设备适配问题

大佬您好,我的蓝湖设计图是1336x768dp
在大屏的pos机上还有平板,以及手机上都要适配,是横屏的项目
我如何填写base_dp呀

华为某些版本的Rom、

实测有几款华为的是这样,所以适配不到,不知道作者有没有相关发现。
同理,这套dp适配方案一定能按swwidth索引到相关资源吗?

其他尺寸适配

看了你的博客 和 别人的问题
#7 (comment)
是不是 只要 修改 screenMatch.properties 文件 base_dp=375 (或者是其他效果图上 的 宽度)
然后把你项目里 默认values/dimens.xml copy到我的工程 然后 用插件 生成就行了?

我建了一个的demo 是这样操作的 我运行了几个虚拟机 大都试了一下 没问题

不知道我的操作 步骤 有没有问题 望大佬指点一下

xml 字体适配没问题,动态设置适配不了

/获取sp值/
float pxValue = getResources().getDimension(R.dimen.sp_15);//获取对应资源文件下的sp值
int spValue = ConvertUtils.px2sp(this, pxValue);//将px值转换成sp值
mTvShowParams.setTextSize(spValue);//设置文字大小

    /*获取dp值*/
    float pxValue2 = getResources().getDimension(R.dimen.dp_360);//获取对应资源文件下的dp值
    int dpValue = ConvertUtils.px2dp(this, pxValue2);//将px值转换成dp值

按照这个动态适配,字体显得很大,大神碰到过吗

不同横屏设备的适配

公司有两个设备,一台华为平板和一台RK3288的设备,分辨率分别为19201200、1366768。
具体参数如下图:
1,华为平板:
TIM截图20191210174708
2,RK3288主板:
TIM截图20191210174236

要如何才能同时适配两个不同分辨率的设备吗?

目前UI的给的设计图是按照19201200来设计的
1,通过PxCook来查看dp标注,使用xxhdpi下的标注,在华为平板(1920
1200)是能正常的显示。但是在RK3288主板(1366*768)上就显示不完全,宽高的比例都不对。如下图所示:
TIM截图20191210183546
TIM截图20191210183637
2,在screenMatch.properties中已经设置base_dp=600,match_dp=600,768
请问,还需要如何配置才能让Rk3288的主板才能适配适配起来吗?

新的最小宽度尺寸 :451.7647

HUAWEI NOH-AL00 Android 10

屏幕宽 -----> widthPixels =1152
屏幕高 -----> heightPixels =2376
屏幕density -----> density =2.55
屏幕widthDP -----> widthDP =451.7647
屏幕heightDP -----> heightDP =931.7647
屏幕smallestWidthDP -----> smallestWidthDP =451.7647

您好,首先感谢您的开源,你的库对我们这些开发者帮助非常的大,不过我有些不太理解的地方,想请教下dp转px的问题,这个问题不是您的库的问题

出于我的技术水平问题,在看到您的文章后感觉您对适配方面的知识挺好的,就来问下dp转px的问题

比如说我在如下信息的屏幕上:
屏幕的宽度(单位:px): 1200
屏幕的高度(单位:px): 1600
屏幕密度(单位:DPI): 160
屏幕密度density(DPI / (160像素/英寸)): 1.0
base_dp(width/density): 1200.0
此时1dp=1px
我通过代码动态设置时用下面这个方法没什么问题:1200dp可以刚好充满屏幕
/**
* dp值转换成px值
*
* @param dpValue dp值
* @return px值
*/
public static int dp2px(Context context, final float dpValue) {
final float density= context.getResources().getDisplayMetrics().density;
return (int) (dpValue * density+ 0.5f);
}
//---------------------------------------------------------------------------------------------------------
换设备
屏幕的宽度(单位:px): 1080
屏幕的高度(单位:px): 1920
屏幕密度(单位:DPI): 420
屏幕密度density(DPI / (160像素/英寸)): 2.625
base_dp(width/density): 411.42856

我通过代码动态设置时(用上面dp2px方法)此设备下的
1200dp=3150.5px 远远超出了这个屏幕1080的宽,此时其他的dp也不适用了,通过代码适配就显得有问题了

请问在通过代码动态设置进行适配时
1.这个dp转px 是否和base_dp有关?
2.还是和屏幕宽度比有关?

我现在用的是2,dp转px改成了:
(dpValue * density+ 0.5f)*当前设备宽/base_dp屏幕宽度;

请问我这么做合理吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.