Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何解决“问题”;“隐藏的”;小屏幕上列表项的布局(QVGA/HVGA)_Android_Android Layout - Fatal编程技术网

Android 如何解决“问题”;“隐藏的”;小屏幕上列表项的布局(QVGA/HVGA)

Android 如何解决“问题”;“隐藏的”;小屏幕上列表项的布局(QVGA/HVGA),android,android-layout,Android,Android Layout,我对ListView定义如下(Eclipse Android SDK中图形视图的屏幕截图): 问题是,在这一行中,只有在小屏幕上,最后一个布局元素(星形)是“隐藏的”。在更大的屏幕上,相同的布局XML看起来/工作起来与预期的一样(和在IDE中看到的一样) 这种意外的布局行为发生在设备和模拟器上以及所有版本上(API 8-19) 我注意到(原始)线性布局上的错误: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmln

我对
ListView
定义如下(Eclipse Android SDK中图形视图的屏幕截图):

问题是,在这一行中,只有在小屏幕上,最后一个布局元素(星形)是“隐藏的”。在更大的屏幕上,相同的布局XML看起来/工作起来与预期的一样(和在IDE中看到的一样)

这种意外的布局行为发生在设备和模拟器上以及所有版本上(API 8-19)

我注意到(原始)
线性布局上的错误

<?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="72dp"
  android:background="@color/transparent" >

  <LinearLayout
    android:id="@+id/list_row_checkBox_container"
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:gravity="center" >

    <CheckBox
      android:id="@+id/list_row_checkBox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:text="" />
  </LinearLayout>

  <LinearLayout
    android:id="@+id/list_row_text"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:orientation="vertical" >

    <TextView
      android:id="@+id/list_row_txtTitle"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:singleLine="true"
      android:text="Title"
      android:textSize="30sp" />

    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal" >

      <TextView
        android:id="@+id/list_row_txtExtra1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="First" />

      <TextView
        android:id="@+id/list_row_txtExtra2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="Second" />
    </LinearLayout>
  </LinearLayout>

  <LinearLayout
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:gravity="center" >

    <!-- android:background="@color/green" -->

    <ImageButton
      android:id="@+id/list_row_select_icon"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@android:color/transparent"
      android:clickable="true"
      android:src="@drawable/btn_star_holo_light_off" />
  </LinearLayout>

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="72dp"
  android:background="@color/transparent" >

  <LinearLayout
    android:id="@+id/list_row_checkBox_container"
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:clickable="true"
    android:gravity="center" >

    <CheckBox
      android:id="@+id/list_row_checkBox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:text="" />
  </LinearLayout>

  <LinearLayout
    android:id="@+id/list_row_text"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_marginRight="48dp"
    android:layout_toRightOf="@+id/list_row_checkBox_container"
    android:orientation="vertical" >

    <TextView
      android:id="@+id/list_row_txtTitle"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:singleLine="true"
      android:text="Title"
      android:textSize="30sp" />

    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal" >

      <TextView
        android:id="@+id/list_row_txtExtra1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="First" />

      <TextView
        android:id="@+id/list_row_txtExtra2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="Second" />
    </LinearLayout>
  </LinearLayout>

  <LinearLayout
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:gravity="center" >

    <ImageButton
      android:id="@+id/list_row_select_icon"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@android:color/transparent"
      android:clickable="true"
      android:src="@drawable/btn_star_holo_light_off" />
  </LinearLayout>

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="72dp"
  android:background="@color/transparent" >

  <LinearLayout
    android:id="@+id/list_row_checkBox_container"
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:layout_gravity="top|left"
    android:clickable="true"
    android:gravity="center" >

    <CheckBox
      android:id="@+id/list_row_checkBox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:text="" />
  </LinearLayout>

  <LinearLayout
    android:id="@+id/list_row_text"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="top|left"
    android:layout_marginLeft="48dp"
    android:layout_marginRight="48dp"
    android:orientation="vertical" >

    <TextView
      android:id="@+id/list_row_txtTitle"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:singleLine="true"
      android:text="Title"
      android:textSize="30sp" />

    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal" >

      <TextView
        android:id="@+id/list_row_txtExtra1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="First" />

      <TextView
        android:id="@+id/list_row_txtExtra2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="Second" />
    </LinearLayout>
  </LinearLayout>

  <LinearLayout
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:layout_gravity="top|right"
    android:gravity="center" >

    <ImageButton
      android:id="@+id/list_row_select_icon"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@android:color/transparent"
      android:clickable="true"
      android:src="@drawable/btn_star_holo_light_off" />
  </LinearLayout>

</FrameLayout>
结果:

最后,我尝试了
FrameLayout

<?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="72dp"
  android:background="@color/transparent" >

  <LinearLayout
    android:id="@+id/list_row_checkBox_container"
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:gravity="center" >

    <CheckBox
      android:id="@+id/list_row_checkBox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:text="" />
  </LinearLayout>

  <LinearLayout
    android:id="@+id/list_row_text"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:orientation="vertical" >

    <TextView
      android:id="@+id/list_row_txtTitle"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:singleLine="true"
      android:text="Title"
      android:textSize="30sp" />

    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal" >

      <TextView
        android:id="@+id/list_row_txtExtra1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="First" />

      <TextView
        android:id="@+id/list_row_txtExtra2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="Second" />
    </LinearLayout>
  </LinearLayout>

  <LinearLayout
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:gravity="center" >

    <!-- android:background="@color/green" -->

    <ImageButton
      android:id="@+id/list_row_select_icon"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@android:color/transparent"
      android:clickable="true"
      android:src="@drawable/btn_star_holo_light_off" />
  </LinearLayout>

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="72dp"
  android:background="@color/transparent" >

  <LinearLayout
    android:id="@+id/list_row_checkBox_container"
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:clickable="true"
    android:gravity="center" >

    <CheckBox
      android:id="@+id/list_row_checkBox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:text="" />
  </LinearLayout>

  <LinearLayout
    android:id="@+id/list_row_text"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_marginRight="48dp"
    android:layout_toRightOf="@+id/list_row_checkBox_container"
    android:orientation="vertical" >

    <TextView
      android:id="@+id/list_row_txtTitle"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:singleLine="true"
      android:text="Title"
      android:textSize="30sp" />

    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal" >

      <TextView
        android:id="@+id/list_row_txtExtra1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="First" />

      <TextView
        android:id="@+id/list_row_txtExtra2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="Second" />
    </LinearLayout>
  </LinearLayout>

  <LinearLayout
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:gravity="center" >

    <ImageButton
      android:id="@+id/list_row_select_icon"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@android:color/transparent"
      android:clickable="true"
      android:src="@drawable/btn_star_holo_light_off" />
  </LinearLayout>

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="72dp"
  android:background="@color/transparent" >

  <LinearLayout
    android:id="@+id/list_row_checkBox_container"
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:layout_gravity="top|left"
    android:clickable="true"
    android:gravity="center" >

    <CheckBox
      android:id="@+id/list_row_checkBox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:text="" />
  </LinearLayout>

  <LinearLayout
    android:id="@+id/list_row_text"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="top|left"
    android:layout_marginLeft="48dp"
    android:layout_marginRight="48dp"
    android:orientation="vertical" >

    <TextView
      android:id="@+id/list_row_txtTitle"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:singleLine="true"
      android:text="Title"
      android:textSize="30sp" />

    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal" >

      <TextView
        android:id="@+id/list_row_txtExtra1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="First" />

      <TextView
        android:id="@+id/list_row_txtExtra2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="12dp"
        android:text="Second" />
    </LinearLayout>
  </LinearLayout>

  <LinearLayout
    android:layout_width="48dp"
    android:layout_height="fill_parent"
    android:layout_gravity="top|right"
    android:gravity="center" >

    <ImageButton
      android:id="@+id/list_row_select_icon"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@android:color/transparent"
      android:clickable="true"
      android:src="@drawable/btn_star_holo_light_off" />
  </LinearLayout>

</FrameLayout>

结果:

可以看出,没有任何帮助,我有点“困惑”


想知道如何解决这个问题吗?

首先检查您在创建布局时选择的设备是否应该位于图形布局xml的顶部栏上。默认布局文件夹适用于屏幕为4-7英寸的设备。然而,布局故障也发生在设备DPI的基础上。因此,您必须创建多个布局文件夹以支持不同的布局及其横向文件夹

您不必创建这么多布局。这是因为您必须为具有不同屏幕大小和dpi的不同设备创建不同的布局。这就是为什么这位明星要退出银幕


转到此链接并阅读。

解决方案是为
btn\u star\u holo\u light\u off
图像(只有
可绘制的xhdpi
图像)向项目添加
可绘制的mdpi
资源