Android响应式布局

Android响应式布局,第1张

概述我正在构建应用程序(计算器).我使用带有按钮的表格布局.它在三星GalaxyII的屏幕上看起来很完美,但在大屏幕上看起来非常糟糕.按钮高度很小.如何在更大的屏幕上拉伸按钮?布局XML如下:<ScrollViewxmlns:android="http://schemas.anxmlns:tools="http://schemas.android.com/

我正在构建应用程序(计算器).我使用带有按钮的表格布局.它在三星galaxy II的屏幕上看起来很完美,但在大屏幕上看起来非常糟糕.按钮高度很小.如何在更大的屏幕上拉伸按钮?

布局XML如下:

<ScrollVIEw xmlns:androID="http://schemas.an    xmlns:tools="http://schemas.androID.com/    androID:layout_wIDth="match_parent"         androID:layout_height="match_parent"        androID:gravity="right"                     androID:paddingBottom="@dimen/activity_v    androID:paddingleft="@dimen/activity_hor    androID:paddingRight="@dimen/activity_ho    androID:paddingtop="@dimen/activity_vert    tools:context=".MainActivity" >         <tableLayout                                    androID:layout_wIDth="match_parent"         androID:layout_height="match_parent"        androID:gravity="right"                     >                                           <tableRow                                       androID:ID="@+ID/tableRow1"                 androID:layout_wIDth="match_parent"         androID:layout_height="0dp">                <button                                         androID:ID="@+ID/button01"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.33"                androID:layout_height="fill_pare            androID:text="@string/button_1"             androID:visibility="visible" />         <button                                         androID:ID="@+ID/button02"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.34"                androID:layout_height="fill_pare            androID:text="@string/button_2"         <button                                         androID:ID="@+ID/button03"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.33"                androID:layout_height="fill_pare            androID:text="@string/button_3"     </tableRow>                                 <tableRow                                       androID:ID="@+ID/tableRow2"                 androID:layout_wIDth="match_parent"         androID:layout_height="0dp" >           <button                                         androID:ID="@+ID/button04"                  androID:layout_wIDth="0dp"                      androID:layout_weight="0.33"            androID:layout_height="fill_parent"         androID:text="@string/button_4" />      <button                                         androID:ID="@+ID/button05"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.34"                androID:layout_height="fill_parent"         androID:text="@string/button_5" />      <button                                         androID:ID="@+ID/button06"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.33"                androID:layout_height="fill_parent"         androID:text="@string/button_6" />       </tableRow>                                <tableRow                                       androID:ID="@+ID/tableRow3"                 androID:layout_wIDth="match_parent"         androID:layout_height="0dp" >               <button                                         androID:ID="@+ID/button07"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.33"                androID:layout_height="fill_pare            androID:text="@string/button_7"         <button                                         androID:ID="@+ID/button08"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.34"                androID:layout_height="fill_pare            androID:text="@string/button_8"         <button                                         androID:ID="@+ID/button09"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.33"                androID:layout_height="fill_pare            androID:text="@string/button_9"     </tableRow>                                 <tableRow                                       androID:ID="@+ID/tableRow4"                 androID:layout_wIDth="match_parent"         androID:layout_height="0dp" >               <button                                         androID:ID="@+ID/buttonUndo"                androID:layout_wIDth="0dp"                  androID:layout_weight="0.33"                androID:layout_height="fill_pare            androID:text="@string/button_und        <button                                         androID:ID="@+ID/button00"                  androID:layout_wIDth="0dp"                  androID:layout_weight="0.34"                androID:layout_height="fill_pare            androID:text="@string/button_0"         <button                                         androID:ID="@+ID/buttonCheck"               androID:layout_wIDth="0dp"                  androID:layout_weight="0.33"                androID:layout_height="fill_pare            androID:text="@string/button_che    </tableRow>                                 <tableRow                                       androID:ID="@+ID/Restable"                  androID:layout_wIDth="match_parent"         androID:layout_height="0dp" >               <tableLayout                                    androID:layout_weight="0.3"                 androID:ID="@+ID/table_score_cor            <tableRow                                           androID:ID="@+ID/tableRow5_11"                  androID:layout_wIDth="wrap_conte                androID:layout_height="fill_pare                androID:gravity="center_vertical                    <TextVIEw                                         androID:ID="@+ID/labelCorrec                    androID:layout_wIDth="wrap_c                    androID:layout_height="fill_                    androID:ems="4"                                 androID:text="@string/correc                    androID:gravity="center_vertic                    androID:textSize="15sp" />                    </tableRow>                               <tableRow                                           androID:ID="@+ID/tableRow5_12"                  androID:layout_wIDth="wrap_conte                androID:layout_height="0dp" >                   <TextVIEw                                         androID:ID="@+ID/scoreCorr                    androID:layout_wIDth="0dp"                    androID:layout_height="fil                    androID:ems="4"                               androID:gravity="center_ve                    androID:text=""                               androID:textSize="30sp"                       androID:textStyle="bold" /            </tableRow>                             </tableLayout>                              <ImageVIEw                                        androID:ID="@+ID/imageVIEw1"                  androID:layout_wIDth="wrap_content            androID:layout_height="fill_parent            androID:layout_weight="0.3"                   androID:contentDescription="@strin            androID:fitsSystemwindows="true"              androID:scaleType="fitCenter"                 androID:src="@drawable/trees" />          <tableLayout                                    androID:ID="@+ID/table_score_inc            androID:layout_weight="0.3">                  <tableRow                                       androID:ID="@+ID/tableRow5_21"                  androID:layout_wIDth="wrap_conte                androID:layout_height="fill_pare                androID:gravity="center_vertical                <TextVIEw                                         androID:ID="@+ID/labelincorrec                    androID:layout_wIDth="wrap_con                    androID:layout_height="fill_pa                    androID:ems="4"                                 androID:text="@string/incorrec                    androID:gravity="center_vertic                    androID:textSize="15sp" />                </tableRow>                                   <tableRow                                           androID:ID="@+ID/tableRow5_22"                  androID:layout_wIDth="wrap_conte                androID:layout_height="fill_pare                <TextVIEw                                         androID:ID="@+ID/scoreInco                    androID:layout_wIDth="0dp"                    androID:layout_height="fil                    androID:ems="4"                               androID:gravity="center_ve                    androID:text=""                               androID:textSize="30sp"                       androID:textStyle="bold" /            </tableRow>                               </tableLayout>                                </tableRow>                                   <tableRow                                         androID:ID="@+ID/tableRow_menu"               androID:layout_wIDth="wrap_content            androID:layout_height="fill_parent            <button                                             androID:ID="@+ID/buttonPlus"                    androID:layout_wIDth="0dp"                    androID:layout_height="38dp"                androID:layout_weight="0.25"                  androID:text="@string/action_p            <button                                             androID:ID="@+ID/buttonMinus"                   androID:layout_wIDth="0dp"                    androID:layout_height="38dp"                androID:layout_weight="0.25"                  androID:text="@string/action_m            <button                                             androID:ID="@+ID/buttonMult"                    androID:layout_wIDth="0dp"                    androID:layout_height="38dp"                androID:layout_weight="0.25"                  androID:text="@string/action_m                        <button                                     androID:ID="@+ID/buttondivIDe"                  androID:layout_wIDth="0dp"                    androID:layout_height="38dp"                androID:layout_weight="0.25"                  androID:text="@string/action_d            </tableRow>                                     </tableLayout>                      </ScrollVIEw>                               

解决方法:

总而言之,您需要创建不同的布局/绘图以支持所有屏幕.这取决于您的要求,例如,如果您想要在小屏幕中包含2个按钮,在大屏幕上包含4个按钮,那么显然您必须创建不同的布局.

如果你想在所有屏幕上显示相同数量的按钮,那么我建议你准备不同的图像/绘图集并将它们包含在你的项目中.除了将图像放在特定的可绘制文件夹中之外,您无需执行任何 *** 作.

还有一件事,如果它是一个简单的背景,那么你可以创建9补丁图像,以便它可以伸展你想要的任何尺寸或你的设备支持.

更多研究:

> http://developer.android.com/guide/practices/screens_support.html
> Supporting Different Screen Sizes
> Supporting Different Densities
> Implementing Adaptative UI Flows

总结

以上是内存溢出为你收集整理的Android响应式布局全部内容,希望文章能够帮你解决Android响应式布局所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1101188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存