飞道的博客

Android 屏幕适配

476人阅读  评论(0)

网上关于屏幕适配的文章已经铺天盖地了,现在基本都是使用 屏幕分辨率限定符 进行适配,即每种屏幕分辨率的设备需要定义一套 dimens.xml 文件。由于不同分辨率的设备太多了,而且有些设备还有虚拟按键(例如华为手机),这样就还需要每个有虚拟按键的设备加多一套 dimens.xml 文件,再加上平板那些你会发现 dimens.xml 文件所占的体积已经超过2M了!这绝对不是我们想要的。我这里是使用 sw<N>dp限定符,即 smallestWidth(最小宽度) 限定符 来进行适配,使用这种方式只需要少量 dimens.xml 文件即可达到适配,而且根本不用考虑虚拟按键的问题。如果只适配手机,dimens.xml 文件所占的体积只有 100 多 KB,即使加上平板和 TV,也就500多KB,完全可以接收。
 

一、为什么要进行Android屏幕适配

由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android进行定制,于是导致:

  • Android系统碎片化:小米定制的MIUI、魅族定制的flyme、华为定制的EMUI等等

当然都是基于Google原生系统定制的

  • Android机型屏幕尺寸碎片化:5寸、5.5寸、6寸等等
  • Android屏幕分辨率碎片化:320x480、480x800、720x1280、1080x1920

据友盟指数显示,统计至2019 年,支持Android的设备已超过30000多种

当Android系统、屏幕尺寸、屏幕密度出现碎片化的时候,就很容易出现同一元素在不同手机上显示不同的问题。

试想一下这么一个场景:
为4.3寸屏幕准备的UI设计图,运行在5.0寸的屏幕上,很可能在右侧和下侧存在大量的空白;而5.0寸的UI设计图运行到4.3寸的设备上,很可能显示不下。

为了保证用户获得一致的用户体验效果:

使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果

于是,我们便需要对Android屏幕进行适配。

二、使用ScreenMatch 插件进行屏幕适配

1.工具使用步骤:

在 Android Studio 中安装 ScreenMatch 插件
下载插件 ScreenMatch 到本地,点击菜单栏上的 File -> Settings -> Plugins -> Install plugin from disk,然后选择我们刚刚下载的插件,最后点击 “OK”,重启 Andorid Studio 即可。如下图所示:

2.在项目的默认 values 文件夹中需要一份 dimens.xml 文件,如下图:

dimens.xml 代码如下:


  
  1. <resources>
  2. <!-- Your custom size defind by references, can be writted in anywhere, any module, any values/*.xml, for example: -->
  3. <dimen name="common_margin">@dimen/dp_15 </dimen>
  4. <!-- dp and sp values, must be defind in this file! -->
  5. <!-- view size,you can add if there is no one -->
  6. <dimen name="dp_m_60">-60dp </dimen>
  7. <dimen name="dp_m_30">-30dp </dimen>
  8. <dimen name="dp_m_20">-20dp </dimen>
  9. <dimen name="dp_m_12">-12dp </dimen>
  10. <dimen name="dp_m_10">-10dp </dimen>
  11. <dimen name="dp_m_8">-8dp </dimen>
  12. <dimen name="dp_m_5">-5dp </dimen>
  13. <dimen name="dp_m_2">-2dp </dimen>
  14. <dimen name="dp_m_1">-1dp </dimen>
  15. <dimen name="dp_0">0dp </dimen>
  16. <dimen name="dp_0_1">0.1dp </dimen>
  17. <dimen name="dp_0_5">0.5dp </dimen>
  18. <dimen name="dp_1">1dp </dimen>
  19. <dimen name="dp_1_5">1.5dp </dimen>
  20. <dimen name="dp_2">2dp </dimen>
  21. <dimen name="dp_2_5">2.5dp </dimen>
  22. <dimen name="dp_3">3dp </dimen>
  23. <dimen name="dp_3_5">3.5dp </dimen>
  24. <dimen name="dp_4">4dp </dimen>
  25. <dimen name="dp_4_5">4.5dp </dimen>
  26. <dimen name="dp_5">5dp </dimen>
  27. <dimen name="dp_6">6dp </dimen>
  28. <dimen name="dp_7">7dp </dimen>
  29. <dimen name="dp_8">8dp </dimen>
  30. <dimen name="dp_9">9dp </dimen>
  31. <dimen name="dp_10">10dp </dimen>
  32. <dimen name="dp_11">11dp </dimen>
  33. <dimen name="dp_12">12dp </dimen>
  34. <dimen name="dp_13">13dp </dimen>
  35. <dimen name="dp_14">14dp </dimen>
  36. <dimen name="dp_15">15dp </dimen>
  37. <dimen name="dp_16">16dp </dimen>
  38. <dimen name="dp_17">17dp </dimen>
  39. <dimen name="dp_18">18dp </dimen>
  40. <dimen name="dp_19">19dp </dimen>
  41. <dimen name="dp_20">20dp </dimen>
  42. <dimen name="dp_21">21dp </dimen>
  43. <dimen name="dp_22">22dp </dimen>
  44. <dimen name="dp_23">23dp </dimen>
  45. <dimen name="dp_24">24dp </dimen>
  46. <dimen name="dp_25">25dp </dimen>
  47. <dimen name="dp_26">26dp </dimen>
  48. <dimen name="dp_27">27dp </dimen>
  49. <dimen name="dp_28">28dp </dimen>
  50. <dimen name="dp_29">29dp </dimen>
  51. <dimen name="dp_30">30dp </dimen>
  52. <dimen name="dp_31">31dp </dimen>
  53. <dimen name="dp_32">32dp </dimen>
  54. <dimen name="dp_33">33dp </dimen>
  55. <dimen name="dp_34">34dp </dimen>
  56. <dimen name="dp_35">35dp </dimen>
  57. <dimen name="dp_36">36dp </dimen>
  58. <dimen name="dp_37">37dp </dimen>
  59. <dimen name="dp_38">38dp </dimen>
  60. <dimen name="dp_39">39dp </dimen>
  61. <dimen name="dp_40">40dp </dimen>
  62. <dimen name="dp_41">41dp </dimen>
  63. <dimen name="dp_42">42dp </dimen>
  64. <dimen name="dp_43">43dp </dimen>
  65. <dimen name="dp_44">44dp </dimen>
  66. <dimen name="dp_45">45dp </dimen>
  67. <dimen name="dp_46">46dp </dimen>
  68. <dimen name="dp_47">47dp </dimen>
  69. <dimen name="dp_48">48dp </dimen>
  70. <dimen name="dp_49">49dp </dimen>
  71. <dimen name="dp_50">50dp </dimen>
  72. <dimen name="dp_51">51dp </dimen>
  73. <dimen name="dp_52">52dp </dimen>
  74. <dimen name="dp_53">53dp </dimen>
  75. <dimen name="dp_54">54dp </dimen>
  76. <dimen name="dp_55">55dp </dimen>
  77. <dimen name="dp_56">56dp </dimen>
  78. <dimen name="dp_57">57dp </dimen>
  79. <dimen name="dp_58">58dp </dimen>
  80. <dimen name="dp_59">59dp </dimen>
  81. <dimen name="dp_60">60dp </dimen>
  82. <dimen name="dp_61">61dp </dimen>
  83. <dimen name="dp_62">62dp </dimen>
  84. <dimen name="dp_63">63dp </dimen>
  85. <dimen name="dp_64">64dp </dimen>
  86. <dimen name="dp_65">65dp </dimen>
  87. <dimen name="dp_66">66dp </dimen>
  88. <dimen name="dp_67">67dp </dimen>
  89. <dimen name="dp_68">68dp </dimen>
  90. <dimen name="dp_69">69dp </dimen>
  91. <dimen name="dp_70">70dp </dimen>
  92. <dimen name="dp_71">71dp </dimen>
  93. <dimen name="dp_72">72dp </dimen>
  94. <dimen name="dp_73">73dp </dimen>
  95. <dimen name="dp_74">74dp </dimen>
  96. <dimen name="dp_75">75dp </dimen>
  97. <dimen name="dp_76">76dp </dimen>
  98. <dimen name="dp_77">77dp </dimen>
  99. <dimen name="dp_78">78dp </dimen>
  100. <dimen name="dp_79">79dp </dimen>
  101. <dimen name="dp_80">80dp </dimen>
  102. <dimen name="dp_81">81dp </dimen>
  103. <dimen name="dp_82">82dp </dimen>
  104. <dimen name="dp_83">83dp </dimen>
  105. <dimen name="dp_84">84dp </dimen>
  106. <dimen name="dp_85">85dp </dimen>
  107. <dimen name="dp_86">86dp </dimen>
  108. <dimen name="dp_87">87dp </dimen>
  109. <dimen name="dp_88">88dp </dimen>
  110. <dimen name="dp_89">89dp </dimen>
  111. <dimen name="dp_90">90dp </dimen>
  112. <dimen name="dp_91">91dp </dimen>
  113. <dimen name="dp_92">92dp </dimen>
  114. <dimen name="dp_93">93dp </dimen>
  115. <dimen name="dp_94">94dp </dimen>
  116. <dimen name="dp_95">95dp </dimen>
  117. <dimen name="dp_96">96dp </dimen>
  118. <dimen name="dp_97">97dp </dimen>
  119. <dimen name="dp_98">98dp </dimen>
  120. <dimen name="dp_99">99dp </dimen>
  121. <dimen name="dp_100">100dp </dimen>
  122. <dimen name="dp_101">101dp </dimen>
  123. <dimen name="dp_102">102dp </dimen>
  124. <dimen name="dp_103">103dp </dimen>
  125. <dimen name="dp_104">104dp </dimen>
  126. <dimen name="dp_105">105dp </dimen>
  127. <dimen name="dp_106">106dp </dimen>
  128. <dimen name="dp_107">107dp </dimen>
  129. <dimen name="dp_108">108dp </dimen>
  130. <dimen name="dp_109">109dp </dimen>
  131. <dimen name="dp_110">110dp </dimen>
  132. <dimen name="dp_111">111dp </dimen>
  133. <dimen name="dp_112">112dp </dimen>
  134. <dimen name="dp_113">113dp </dimen>
  135. <dimen name="dp_114">114dp </dimen>
  136. <dimen name="dp_115">115dp </dimen>
  137. <dimen name="dp_116">116dp </dimen>
  138. <dimen name="dp_117">117dp </dimen>
  139. <dimen name="dp_118">118dp </dimen>
  140. <dimen name="dp_119">119dp </dimen>
  141. <dimen name="dp_120">120dp </dimen>
  142. <dimen name="dp_121">121dp </dimen>
  143. <dimen name="dp_122">122dp </dimen>
  144. <dimen name="dp_123">123dp </dimen>
  145. <dimen name="dp_124">124dp </dimen>
  146. <dimen name="dp_125">125dp </dimen>
  147. <dimen name="dp_126">126dp </dimen>
  148. <dimen name="dp_127">127dp </dimen>
  149. <dimen name="dp_128">128dp </dimen>
  150. <dimen name="dp_129">129dp </dimen>
  151. <dimen name="dp_130">130dp </dimen>
  152. <dimen name="dp_131">131dp </dimen>
  153. <dimen name="dp_132">132dp </dimen>
  154. <dimen name="dp_133">133dp </dimen>
  155. <dimen name="dp_134">134dp </dimen>
  156. <dimen name="dp_135">135dp </dimen>
  157. <dimen name="dp_136">136dp </dimen>
  158. <dimen name="dp_137">137dp </dimen>
  159. <dimen name="dp_138">138dp </dimen>
  160. <dimen name="dp_139">139dp </dimen>
  161. <dimen name="dp_140">140dp </dimen>
  162. <dimen name="dp_141">141dp </dimen>
  163. <dimen name="dp_142">142dp </dimen>
  164. <dimen name="dp_143">143dp </dimen>
  165. <dimen name="dp_144">144dp </dimen>
  166. <dimen name="dp_145">145dp </dimen>
  167. <dimen name="dp_146">146dp </dimen>
  168. <dimen name="dp_147">147dp </dimen>
  169. <dimen name="dp_148">148dp </dimen>
  170. <dimen name="dp_149">149dp </dimen>
  171. <dimen name="dp_150">150dp </dimen>
  172. <dimen name="dp_151">151dp </dimen>
  173. <dimen name="dp_152">152dp </dimen>
  174. <dimen name="dp_153">153dp </dimen>
  175. <dimen name="dp_154">154dp </dimen>
  176. <dimen name="dp_155">155dp </dimen>
  177. <dimen name="dp_156">156dp </dimen>
  178. <dimen name="dp_157">157dp </dimen>
  179. <dimen name="dp_158">158dp </dimen>
  180. <dimen name="dp_159">159dp </dimen>
  181. <dimen name="dp_160">160dp </dimen>
  182. <dimen name="dp_161">161dp </dimen>
  183. <dimen name="dp_162">162dp </dimen>
  184. <dimen name="dp_163">163dp </dimen>
  185. <dimen name="dp_164">164dp </dimen>
  186. <dimen name="dp_165">165dp </dimen>
  187. <dimen name="dp_166">166dp </dimen>
  188. <dimen name="dp_167">167dp </dimen>
  189. <dimen name="dp_168">168dp </dimen>
  190. <dimen name="dp_169">169dp </dimen>
  191. <dimen name="dp_170">170dp </dimen>
  192. <dimen name="dp_171">171dp </dimen>
  193. <dimen name="dp_172">172dp </dimen>
  194. <dimen name="dp_173">173dp </dimen>
  195. <dimen name="dp_174">174dp </dimen>
  196. <dimen name="dp_175">175dp </dimen>
  197. <dimen name="dp_176">176dp </dimen>
  198. <dimen name="dp_177">177dp </dimen>
  199. <dimen name="dp_178">178dp </dimen>
  200. <dimen name="dp_179">179dp </dimen>
  201. <dimen name="dp_180">180dp </dimen>
  202. <dimen name="dp_181">181dp </dimen>
  203. <dimen name="dp_182">182dp </dimen>
  204. <dimen name="dp_183">183dp </dimen>
  205. <dimen name="dp_184">184dp </dimen>
  206. <dimen name="dp_185">185dp </dimen>
  207. <dimen name="dp_186">186dp </dimen>
  208. <dimen name="dp_187">187dp </dimen>
  209. <dimen name="dp_188">188dp </dimen>
  210. <dimen name="dp_189">189dp </dimen>
  211. <dimen name="dp_190">190dp </dimen>
  212. <dimen name="dp_191">191dp </dimen>
  213. <dimen name="dp_192">192dp </dimen>
  214. <dimen name="dp_193">193dp </dimen>
  215. <dimen name="dp_194">194dp </dimen>
  216. <dimen name="dp_195">195dp </dimen>
  217. <dimen name="dp_196">196dp </dimen>
  218. <dimen name="dp_197">197dp </dimen>
  219. <dimen name="dp_198">198dp </dimen>
  220. <dimen name="dp_199">199dp </dimen>
  221. <dimen name="dp_200">200dp </dimen>
  222. <dimen name="dp_201">201dp </dimen>
  223. <dimen name="dp_202">202dp </dimen>
  224. <dimen name="dp_203">203dp </dimen>
  225. <dimen name="dp_204">204dp </dimen>
  226. <dimen name="dp_205">205dp </dimen>
  227. <dimen name="dp_206">206dp </dimen>
  228. <dimen name="dp_207">207dp </dimen>
  229. <dimen name="dp_208">208dp </dimen>
  230. <dimen name="dp_209">209dp </dimen>
  231. <dimen name="dp_210">210dp </dimen>
  232. <dimen name="dp_211">211dp </dimen>
  233. <dimen name="dp_212">212dp </dimen>
  234. <dimen name="dp_213">213dp </dimen>
  235. <dimen name="dp_214">214dp </dimen>
  236. <dimen name="dp_215">215dp </dimen>
  237. <dimen name="dp_216">216dp </dimen>
  238. <dimen name="dp_217">217dp </dimen>
  239. <dimen name="dp_218">218dp </dimen>
  240. <dimen name="dp_219">219dp </dimen>
  241. <dimen name="dp_220">220dp </dimen>
  242. <dimen name="dp_221">221dp </dimen>
  243. <dimen name="dp_222">222dp </dimen>
  244. <dimen name="dp_223">223dp </dimen>
  245. <dimen name="dp_224">224dp </dimen>
  246. <dimen name="dp_225">225dp </dimen>
  247. <dimen name="dp_226">226dp </dimen>
  248. <dimen name="dp_227">227dp </dimen>
  249. <dimen name="dp_228">228dp </dimen>
  250. <dimen name="dp_229">229dp </dimen>
  251. <dimen name="dp_230">230dp </dimen>
  252. <dimen name="dp_231">231dp </dimen>
  253. <dimen name="dp_232">232dp </dimen>
  254. <dimen name="dp_233">233dp </dimen>
  255. <dimen name="dp_234">234dp </dimen>
  256. <dimen name="dp_235">235dp </dimen>
  257. <dimen name="dp_236">236dp </dimen>
  258. <dimen name="dp_237">237dp </dimen>
  259. <dimen name="dp_238">238dp </dimen>
  260. <dimen name="dp_239">239dp </dimen>
  261. <dimen name="dp_240">240dp </dimen>
  262. <dimen name="dp_241">241dp </dimen>
  263. <dimen name="dp_242">242dp </dimen>
  264. <dimen name="dp_243">243dp </dimen>
  265. <dimen name="dp_244">244dp </dimen>
  266. <dimen name="dp_245">245dp </dimen>
  267. <dimen name="dp_246">246dp </dimen>
  268. <dimen name="dp_247">247dp </dimen>
  269. <dimen name="dp_248">248dp </dimen>
  270. <dimen name="dp_249">249dp </dimen>
  271. <dimen name="dp_250">250dp </dimen>
  272. <dimen name="dp_251">251dp </dimen>
  273. <dimen name="dp_252">252dp </dimen>
  274. <dimen name="dp_253">253dp </dimen>
  275. <dimen name="dp_254">254dp </dimen>
  276. <dimen name="dp_255">255dp </dimen>
  277. <dimen name="dp_256">256dp </dimen>
  278. <dimen name="dp_257">257dp </dimen>
  279. <dimen name="dp_258">258dp </dimen>
  280. <dimen name="dp_259">259dp </dimen>
  281. <dimen name="dp_260">260dp </dimen>
  282. <dimen name="dp_261">261dp </dimen>
  283. <dimen name="dp_262">262dp </dimen>
  284. <dimen name="dp_263">263dp </dimen>
  285. <dimen name="dp_264">264dp </dimen>
  286. <dimen name="dp_265">265dp </dimen>
  287. <dimen name="dp_266">266dp </dimen>
  288. <dimen name="dp_267">267dp </dimen>
  289. <dimen name="dp_268">268dp </dimen>
  290. <dimen name="dp_269">269dp </dimen>
  291. <dimen name="dp_270">270dp </dimen>
  292. <dimen name="dp_271">271dp </dimen>
  293. <dimen name="dp_272">272dp </dimen>
  294. <dimen name="dp_273">273dp </dimen>
  295. <dimen name="dp_274">274dp </dimen>
  296. <dimen name="dp_275">275dp </dimen>
  297. <dimen name="dp_276">276dp </dimen>
  298. <dimen name="dp_277">277dp </dimen>
  299. <dimen name="dp_278">278dp </dimen>
  300. <dimen name="dp_279">279dp </dimen>
  301. <dimen name="dp_280">280dp </dimen>
  302. <dimen name="dp_281">281dp </dimen>
  303. <dimen name="dp_282">282dp </dimen>
  304. <dimen name="dp_283">283dp </dimen>
  305. <dimen name="dp_284">284dp </dimen>
  306. <dimen name="dp_285">285dp </dimen>
  307. <dimen name="dp_286">286dp </dimen>
  308. <dimen name="dp_287">287dp </dimen>
  309. <dimen name="dp_288">288dp </dimen>
  310. <dimen name="dp_289">289dp </dimen>
  311. <dimen name="dp_290">290dp </dimen>
  312. <dimen name="dp_291">291dp </dimen>
  313. <dimen name="dp_292">292dp </dimen>
  314. <dimen name="dp_293">293dp </dimen>
  315. <dimen name="dp_294">294dp </dimen>
  316. <dimen name="dp_295">295dp </dimen>
  317. <dimen name="dp_296">296dp </dimen>
  318. <dimen name="dp_297">297dp </dimen>
  319. <dimen name="dp_298">298dp </dimen>
  320. <dimen name="dp_299">299dp </dimen>
  321. <dimen name="dp_300">300dp </dimen>
  322. <dimen name="dp_301">301dp </dimen>
  323. <dimen name="dp_302">302dp </dimen>
  324. <dimen name="dp_303">303dp </dimen>
  325. <dimen name="dp_304">304dp </dimen>
  326. <dimen name="dp_305">305dp </dimen>
  327. <dimen name="dp_306">306dp </dimen>
  328. <dimen name="dp_307">307dp </dimen>
  329. <dimen name="dp_308">308dp </dimen>
  330. <dimen name="dp_309">309dp </dimen>
  331. <dimen name="dp_310">310dp </dimen>
  332. <dimen name="dp_311">311dp </dimen>
  333. <dimen name="dp_312">312dp </dimen>
  334. <dimen name="dp_313">313dp </dimen>
  335. <dimen name="dp_314">314dp </dimen>
  336. <dimen name="dp_315">315dp </dimen>
  337. <dimen name="dp_316">316dp </dimen>
  338. <dimen name="dp_317">317dp </dimen>
  339. <dimen name="dp_318">318dp </dimen>
  340. <dimen name="dp_319">319dp </dimen>
  341. <dimen name="dp_320">320dp </dimen>
  342. <dimen name="dp_321">321dp </dimen>
  343. <dimen name="dp_322">322dp </dimen>
  344. <dimen name="dp_323">323dp </dimen>
  345. <dimen name="dp_324">324dp </dimen>
  346. <dimen name="dp_325">325dp </dimen>
  347. <dimen name="dp_326">326dp </dimen>
  348. <dimen name="dp_327">327dp </dimen>
  349. <dimen name="dp_328">328dp </dimen>
  350. <dimen name="dp_329">329dp </dimen>
  351. <dimen name="dp_330">330dp </dimen>
  352. <dimen name="dp_331">331dp </dimen>
  353. <dimen name="dp_332">332dp </dimen>
  354. <dimen name="dp_333">333dp </dimen>
  355. <dimen name="dp_334">334dp </dimen>
  356. <dimen name="dp_335">335dp </dimen>
  357. <dimen name="dp_336">336dp </dimen>
  358. <dimen name="dp_337">337dp </dimen>
  359. <dimen name="dp_338">338dp </dimen>
  360. <dimen name="dp_339">339dp </dimen>
  361. <dimen name="dp_340">340dp </dimen>
  362. <dimen name="dp_341">341dp </dimen>
  363. <dimen name="dp_342">342dp </dimen>
  364. <dimen name="dp_343">343dp </dimen>
  365. <dimen name="dp_344">344dp </dimen>
  366. <dimen name="dp_345">345dp </dimen>
  367. <dimen name="dp_346">346dp </dimen>
  368. <dimen name="dp_347">347dp </dimen>
  369. <dimen name="dp_348">348dp </dimen>
  370. <dimen name="dp_349">349dp </dimen>
  371. <dimen name="dp_350">350dp </dimen>
  372. <dimen name="dp_351">351dp </dimen>
  373. <dimen name="dp_352">352dp </dimen>
  374. <dimen name="dp_353">353dp </dimen>
  375. <dimen name="dp_354">354dp </dimen>
  376. <dimen name="dp_355">355dp </dimen>
  377. <dimen name="dp_356">356dp </dimen>
  378. <dimen name="dp_357">357dp </dimen>
  379. <dimen name="dp_358">358dp </dimen>
  380. <dimen name="dp_359">359dp </dimen>
  381. <dimen name="dp_360">360dp </dimen>
  382. <dimen name="dp_365">365dp </dimen>
  383. <dimen name="dp_370">370dp </dimen>
  384. <dimen name="dp_400">400dp </dimen>
  385. <dimen name="dp_410">410dp </dimen>
  386. <dimen name="dp_422">422dp </dimen>
  387. <dimen name="dp_472">472dp </dimen>
  388. <dimen name="dp_500">500dp </dimen>
  389. <dimen name="dp_600">600dp </dimen>
  390. <dimen name="dp_640">640dp </dimen>
  391. <dimen name="dp_720">720dp </dimen>
  392. <!-- font size,you can add if there is no one -->
  393. <dimen name="sp_6">6sp </dimen>
  394. <dimen name="sp_7">7sp </dimen>
  395. <dimen name="sp_8">8sp </dimen>
  396. <dimen name="sp_9">9sp </dimen>
  397. <dimen name="sp_10">10sp </dimen>
  398. <dimen name="sp_11">11sp </dimen>
  399. <dimen name="sp_12">12sp </dimen>
  400. <dimen name="sp_13">13sp </dimen>
  401. <dimen name="sp_14">14sp </dimen>
  402. <dimen name="sp_15">15sp </dimen>
  403. <dimen name="sp_16">16sp </dimen>
  404. <dimen name="sp_17">17sp </dimen>
  405. <dimen name="sp_18">18sp </dimen>
  406. <dimen name="sp_19">19sp </dimen>
  407. <dimen name="sp_20">20sp </dimen>
  408. <dimen name="sp_21">21sp </dimen>
  409. <dimen name="sp_22">22sp </dimen>
  410. <dimen name="sp_23">23sp </dimen>
  411. <dimen name="sp_24">24sp </dimen>
  412. <dimen name="sp_25">25sp </dimen>
  413. <dimen name="sp_28">28sp </dimen>
  414. <dimen name="sp_30">30sp </dimen>
  415. <dimen name="sp_32">32sp </dimen>
  416. <dimen name="sp_34">34sp </dimen>
  417. <dimen name="sp_36">36sp </dimen>
  418. <dimen name="sp_38">38sp </dimen>
  419. <dimen name="sp_40">40sp </dimen>
  420. <dimen name="sp_42">42sp </dimen>
  421. <dimen name="sp_48">48sp </dimen>
  422. </resources>

 3、执行生成

插件安装好后,在项目的任意目录或文件上右键,选择 ScreenMatch 选项。如下图:

然后选择在哪个 module 下执行适配。即基于哪个 module 下的 res/values/dimens.xml 文件作为基准 dimens.xml 文件,生成的其他尺寸 dimens.xml 文件放在哪个 module 下。例如选择 app,然后点击 OK ,出现如下界面表示生成文件成功。如下图:

然后再看看 res 目录下会自动生成一堆 dimens.xml 文件,如下图:

4.根据设计图填写最小宽度基准值,并填写需要适配的设备最小宽度 dp 值

步骤 3 是以插件默认的最小宽度基准值为 360dp,适配的设备最小宽度为
320,360,384,392.7272,400,410,411.4285,432,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365(包含了平板和 TV )生成的文件,但实际情况要根据设计图和需求设置。

例如设计图的最小宽度为 375dp,则需要更改最小宽度基准值为 375dp。如果项目只需要适配手机的话,适配的设备最小宽度保留 320,360,384,392.7272,400,410,411.4285,432,480 即可,若发现手机还有其他最小宽度自行加上即可,也麻烦把该最小宽度提供给我,我们一起来完善该份适配。

以上修改需要在配置文件里修改,即 screenMatch.properties 文件,该配置文件是执行完上面第 3 步后自动生成在项目的跟目录下的。如下图:

5.根据设计图标注,在布局写上对应的值。

设计图标注多少 dp,布局中就写多少 dp ,非常方便!

  • 大多数 UI 设计师提供设计图有如下几种方式:
    上传到蓝湖:显示多少 dp 就写多少 dp。
    psd 源文件:用像素大厨查看,显示多少 dp 就写多少 dp(注意像素大厨需要选择与设计图对应的dpi 进行显示)
    dp 单位的设计图:标注多少 dp 就写多少 dp。
    px 单位的设计图:叫 UI 设计师标注为 dp 单位或跟她要 psd 源文件,如果都不行,那自己算吧!
  • 举例:例如设计图上一个Button 的宽为 300dp,高为 50dp,字体大小为 15 sp,在布局中则这样使用
    
        
    1. <Button
    2. android:layout_width= "@dimen/dp_300"
    3. android:layout_height= "@dimen/dp_50"
    4. android:text= "button"
    5. android:textSize= "@dimen/sp_15" />

     

 

 


转载:https://blog.csdn.net/maminghuicsdn/article/details/106070029
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场