应用程序屏幕不适合设备

时间:2017-10-17 06:51:53

标签: android xml eclipse

我正在开发Android应用并使用eclipse。我在两个选项卡上运行此应用程序,并且屏幕大小ID正确,但有一个选项卡,但在其他选项卡中,屏幕大小将不适合设备,图标也更大。我是初学者,有什么方法可以用以下方式解决这个问题吗?

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" /> 

<supports-screens android:xlargeScreens="true"/>

我需要更改清单文件吗? 或者布局是否有任何变化?
这是我的一个xml

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">

        <HorizontalScrollView 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fillViewport="true">    


      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:focusable="true"
        android:focusableInTouchMode="true"    
        android:orientation="vertical" 
        android:background="@drawable/background6">


        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="match_parent"
            android:layout_height="1dp" >
        </TableRow>

         <TableRow
            android:id="@+id/tableRow18"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lblNICBRAdvRcpt"
                android:layout_width="150dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="50dp"            
                android:text="NIC/BR No :"
                android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#515152"/>


            <EditText
                android:id="@+id/txtNICBRAdvRcpt"
                android:layout_width="200dp"
                android:layout_height="wrap_content"           
                android:inputType="textCapCharacters"
                android:tag="txt"           
                android:maxLength="30"
                android:maxLines="1" />

           <TextView
               android:id="@+id/lblCustomerType"
                android:layout_width="150dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="30dp"            
                android:text="Customer Type :"
                android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#515152"
                />
            <Spinner
                   android:id="@+id/spinCustomerType"
                   android:layout_width="200dp"
                   android:layout_height="50dp"
                   android:background="@drawable/spnbg" />
<!--some code here -->

         </TableRow>
       </LinearLayout>

     </HorizontalScrollView>

    </ScrollView>

1 个答案:

答案 0 :(得分:0)

  

屏幕尺寸不适合设备

我假设你的意思是布局的宽度比屏幕大。 这可能是由于使用固定大小的宽度组件引起的,例如在tableRow18下您有多个子节点,每个子节点都有固定宽度和固定边距:

width="150dp" + 
marginLeft="50dp" +
width="200dp" +
width="150dp" +
marginLeft="30dp" +
width="200dp" 
=======
780dp

因此,如果屏幕宽度小于780dp,则布局将大于屏幕宽度。

您应该尽量减少固定尺寸的使用,并且更喜欢match_parentwrap_content宽度值。 如果您需要至少android:minWidth=或最多android:maxWidth=个尺寸的组件,您还可以添加XdpXdp

如果您需要在屏幕宽度上均匀分布您的孩子,请考虑使用layout_weights