我刚刚更新了我的应用程序,我收到了更新它的人的一些奇怪的抱怨。我只收到非股票Android手机(制造商修改过的手机...... HTC手机,cliq,脉冲等)的投诉,其他手机如Droid,Nexus工作正常。我的应用程序(相框豪华版)有一个列表,其中包含图像视图,文本视图,视图(间隔)和复选框,所有这些都在一行中。在受影响的手机上发生的事情是行开始重叠,它会切断所有内容的上半部分。我的布局代码如下,我正在拉扯我的头发,这个布局可能有什么问题。 为什么这适用于某些手机而不适用于其他手机?任何帮助将不胜感激。
行布局:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/photorowIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingRight="5dp"
/>
<TextView
android:id="@+id/photorowText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
/>
<View
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<CheckBox
android:id="@+id/photorowCheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:focusable="false"
android:focusableInTouchMode="false"
/>
</LinearLayout>
布局行插入:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/title1_gradient"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Select Photos to Display:"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="#FFFFFFFF"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/folderName"
android:textSize="15sp"
android:textStyle="bold"
android:textColor="#FFFFFFFF"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
/>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:background="#406C6C6C"/>
</LinearLayout>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:paddingLeft="5dp"
android:paddingRight="5dp"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="bottom">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="bottom"
android:background="#FF6C6C6C"
android:padding="5dp">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/ok"
android:text="OK"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:3)
我遇到了同样的问题。这在2 Verizon Eris和1.5模拟器中很明显。它不会出现在G1(v1.6),moto Droid(2.0.1)或任何模拟器1.6 +
它发生在绑定到ListActivity的ListView中,并且位于垂直方向的LinearLayout中。在这两种情况下,我都在为每个人提供RelativeLayouts,而且我一直在失去他们的顶部
我使用了hierarchyViewer,每个该死的东西都被弄糟了,然后旋转。在将RelativeLayout上的minHeight手动设置为大于显示的内容之后,它终于明白了,问题不仅仅是SIZING,而是SHIFTING .. RelativeLayout中的所有东西都被推到了视图的顶部。
这让我在心理上重温了 sandos的上面的答案:“与引力有关”
android:gravity="center_vertical"
这产生了巨大的差异。
现在,我的行仍然在1.5中看起来更窄,但它们是可用的,我可以保留它
答案 1 :(得分:1)
更改ur listView标记属性
android:layout_height="fill_parent"
答案 2 :(得分:0)
我无法确定您的问题,但我知道布局(不幸的是!)可能会在次要版本的Android之间发生变化。我看到了一些问题,从1.5到1.6,特别是列表中的布局。更有问题的是模拟器没有正确模拟这一点,这使得这很难修复。我记得它与重力有关,所以我会玩那个部分。此外,尝试使用RelativeLayout,因为这比嵌套的linearlayout更少资源。
还可以尝试使用SDK,layoutopt和Hiearhcy Viewer中的布局工具。