应用程序屏幕不适合设备

Posted

技术标签:

【中文标题】应用程序屏幕不适合设备【英文标题】:Application screen won't fit to the device 【发布时间】:2018-03-28 18:57:41 【问题描述】:

我正在开发 android 应用程序并使用 eclipse。我在两个选项卡上运行此应用程序,一个选项卡的屏幕尺寸 id 没问题,但在其他选项卡中,屏幕尺寸不适合设备,图标也更大。我是这方面的初学者,有没有办法使用以下方式解决这个问题?

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

&lt;supports-screens android:xlargeScreens="true"/&gt;

我需要更改 Manifest 文件吗? 还是要对布局进行任何更改? 这是我的 xml 之一

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_
        android:layout_
        android:fillViewport="true">

        <HorizontalScrollView 
            android:layout_
            android:layout_
            android:fillViewport="true">    


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


        <TableRow
            android:id="@+id/tableRow4"
            android:layout_
            android:layout_ >
        </TableRow>

         <TableRow
            android:id="@+id/tableRow18"
            android:layout_
            android:layout_ >

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


            <EditText
                android:id="@+id/txtNICBRAdvRcpt"
                android:layout_
                android:layout_           
                android:inputType="textCapCharacters"
                android:tag="txt"           
                android:maxLength="30"
                android:maxLines="1" />

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

         </TableRow>
       </LinearLayout>

     </HorizontalScrollView>

    </ScrollView>

【问题讨论】:

【参考方案1】:

屏幕尺寸不适合设备

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

 + 
marginLeft="50dp" +
 +
 +
marginLeft="30dp" +
 
=======
780dp

所以如果屏幕宽度小于 780dp,布局会大于屏幕宽度。

您应该尽量减少使用固定尺寸,并首选match_parentwrap_content 宽度值。 如果您需要至少Xdp 或最多Xdp 大小的组件,也可以添加android:minWidth=android:maxWidth=

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

【讨论】:

我尝试使用 layout_weights。但仍然会出现问题,因为我的整个应用程序屏幕在不适合屏幕的情况下运行。我添加了一个卷轴,它解决了一半的问题。但它看起来像使用较低的分辨率。大图标等..但我的问题仍然没有解决。 您能否添加屏幕截图,说明大图标的外观和外观?这可能与将您的可绘制对象放在错误的文件夹中有关,您通常应该只使用具有屏幕属性的文件夹,例如:res/drawable-xxhdpi 而不是 res/drawable 我会尽量放截图。但只有我的一个标签面临这个问题。另一个很好。

以上是关于应用程序屏幕不适合设备的主要内容,如果未能解决你的问题,请参考以下文章

壁纸不适合设备屏幕

如何使精灵适合多个设备的整个屏幕

UICollectionViewCell 不适合设备屏幕

UITableView 高度不适合不同 iPhone 设备的容器垂直(底部)

react native android背景图像不适合屏幕

我的 android 应用程序将如何在多个屏幕分辨率设备上运行?