如何Android屏幕的纯代码界面适配
答案:4 悬赏:40
解决时间 2021-04-08 08:30
- 提问者网友:沉默的哀伤
- 2021-04-07 18:23
正在做一个Android开发包,提供给其他android开发者使用,主要包括一个登录、注册界面,未了保证sdk包的清洁,这两个界面全部使用代码实现,没有XML配置文件,图片资源文件也全部通过AssetManager来获取。现在的问题是,如果要适配各种屏幕,横屏、纵屏,请问怎么处理布局代码??
最佳答案
- 二级知识专家网友:心痛成瘾
- 2021-04-07 19:11
Android中一个layout想适配各种屏幕尺寸那么你需要按以下规则去写layout:
1. 尽量使用wrap_content、match_parent、weight 来规定layout的大小。
2. 要确保布局的灵活性并适应各种尺寸的屏幕,应使用 “wrap_content” 和 “match_parent” 控制某些视图组件的宽度和高度。
3. 使用 “wrap_content”,系统就会将视图的宽度或高度设置成所需的最小尺寸以适应视图中的内容,而 “match_parent”(在低于 API 级别 8 的级别中称为“fill_parent”)则会展开组件以匹配其父视图的尺寸。
4. 如果使用 “wrap_content” 和 “match_parent” 尺寸值而不是硬编码的尺寸,视图就会相应地仅使用自身所需的空间或展开以填满可用空间。此方法可让布局正确适应各种屏幕尺寸和屏幕方向。
5. 如果某些地方必须要规定控件的大小,那么要使用dp 或者 dip单位。
6. 字段必须使用 sp单位。
7. 将不同的图片放到不同的drawable目录下,分辨率的匹配规则如下:
drawable-mdpi 320 * 480
drawable-hdpi 480*800
drawable-xhdpi 720 * 1280
drawable-xxhdpi 1080 * 1920
drawable-xxxhdpi 1080+
1. 尽量使用wrap_content、match_parent、weight 来规定layout的大小。
2. 要确保布局的灵活性并适应各种尺寸的屏幕,应使用 “wrap_content” 和 “match_parent” 控制某些视图组件的宽度和高度。
3. 使用 “wrap_content”,系统就会将视图的宽度或高度设置成所需的最小尺寸以适应视图中的内容,而 “match_parent”(在低于 API 级别 8 的级别中称为“fill_parent”)则会展开组件以匹配其父视图的尺寸。
4. 如果使用 “wrap_content” 和 “match_parent” 尺寸值而不是硬编码的尺寸,视图就会相应地仅使用自身所需的空间或展开以填满可用空间。此方法可让布局正确适应各种屏幕尺寸和屏幕方向。
5. 如果某些地方必须要规定控件的大小,那么要使用dp 或者 dip单位。
6. 字段必须使用 sp单位。
7. 将不同的图片放到不同的drawable目录下,分辨率的匹配规则如下:
drawable-mdpi 320 * 480
drawable-hdpi 480*800
drawable-xhdpi 720 * 1280
drawable-xxhdpi 1080 * 1920
drawable-xxxhdpi 1080+
全部回答
- 1楼网友:青春如此荒謬
- 2021-04-07 21:00
图片大小倒是次要的关键是你的布局中设置图片的宽高属性都使用fill_parent,不要一个用wrap_content一个用fill_parent
。或者都设置成match_parent。而且图片用.9格式的。布局尽量不要使用限制像素多少的属性,位置也尽量用相对的属性。这样的布局无论手机屏幕什么尺寸运行都不会乱。
- 2楼网友:伤口狠精致
- 2021-04-07 20:41
用view画出来,先获取屏幕的长和宽,然后按一定的比例进行布局。
- 3楼网友:兮沫♡晨曦
- 2021-04-07 19:25
就用相对布局就行了。只是由原来的xml实现改成代码,麻烦了些罢了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯