应用程序屏幕不适合设备
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" />
和<supports-screens android:xlargeScreens="true"/>
我需要更改 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_parent
和wrap_content
宽度值。
如果您需要至少Xdp
或最多Xdp
大小的组件,也可以添加android:minWidth=
和android:maxWidth=
。
如果您需要将孩子均匀地分布在屏幕宽度上,请考虑为此使用layout_weights。
【讨论】:
我尝试使用 layout_weights。但仍然会出现问题,因为我的整个应用程序屏幕在不适合屏幕的情况下运行。我添加了一个卷轴,它解决了一半的问题。但它看起来像使用较低的分辨率。大图标等..但我的问题仍然没有解决。 您能否添加屏幕截图,说明大图标的外观和外观?这可能与将您的可绘制对象放在错误的文件夹中有关,您通常应该只使用具有屏幕属性的文件夹,例如:res/drawable-xxhdpi
而不是 res/drawable
我会尽量放截图。但只有我的一个标签面临这个问题。另一个很好。以上是关于应用程序屏幕不适合设备的主要内容,如果未能解决你的问题,请参考以下文章