Android应用程序响应(适合所有​​屏幕尺寸)

时间:2015-11-02 11:15:46

标签: java android layout android-linearlayout

我正在开发一个Android应用程序,它有一个按钮和图像。我需要让它响应。如果我使用更大的设备,如平板电脑,它显示控件非常小。当我在横向模式,它显示一半我可以如何克服这个问题并让我的应用程序响应所有设备。我在下面附上了我的一个XML代码。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:orientation="vertical" 
>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="fill_parent"
    android:layout_height="125dp"
    android:layout_marginTop="50dp"
    android:layout_weight="0.01"
    android:adjustViewBounds="true"  
    >        
</ImageView>

 <LinearLayout
    android:id="@+id/layButtonH"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.01"
    android:layout_marginTop="20dp"
    android:gravity="center"
    android:orientation="vertical" >

    <Button 
     android:id="@+id/addnew"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="    ADD NEW     "
     android:background="@drawable/button_shape"
     android:textColor="#FFFFFF"/>


     <Button
         android:id="@+id/open"
         android:background="@drawable/button_shape_cancel"
         android:layout_marginTop="30dp"  
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="        OPEN         "
         android:textColor="#FFFFFF" />
     <Button
         android:id="@+id/Register"
         android:background="@drawable/button_shape_cancel"
         android:layout_marginTop="30dp"  
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="       LOGIN        "
         android:textColor="#FFFFFF" />


 </LinearLayout>

2 个答案:

答案 0 :(得分:0)

对于响应式设计 1)不要给出像125dp这样的硬代码值而不是用户wrap_content或match_parent属性 2)根据分辨率将图像放在res drawable下以获取适合其分辨率的图像,例如平板电脑设计在res下创建drawable-sw600文件夹并在其下面放置平板电脑图像。 3)对于values-&gt;维度相同,使用特定文件夹名称创建不同的维度文件。例如,用于平板电脑的值-sw600 4)使用ScrollView控件避免在横向模式下切割屏幕。 有关详细信息和指南,请访问http://developer.android.com/guide/practices/screens_support.htmlhttp://developer.android.com/training/multiscreen/screendensities.html

答案 1 :(得分:0)

您可以从下面提到的资源开始。在设计和开发应用程序时,需要为所有屏幕尺寸制作应用程序。

您必须处理图像,使其与不同的屏幕尺寸保持一致。这将解决平板电脑中控制非常小的问题。

此外,在横向模式下,您的小部件超出了屏幕高度。一个快速的解决方案是将/var/www/置于handleEmailPress: function (oEvent) { var oModel = new sap.ui.model.json.JSONModel("model/mock.json"); var QN = oModel.getData().QuotationNumber; //sap.m.URLHelper.triggerEmail(this._getVal(evt), "Info Request") sap.m.URLHelper.triggerEmail( "test111@gmail.com", "hello", "QuotationNumber" + QN ) sap.m.MessageToast.show("E-Mail has been sent"); 内,以便在横向滚动时您可以看到所有控件。但理想的方法是为横向和纵向模式设置不同的布局。

如果您使用ScrolLView,代码将如下所示:

LinearLayout

价:

  1. Design for multiple screens

  2. Supporting different screen sizes

  3. Supporting multiple screens