Android相对布局隐藏了我的图像视图

时间:2015-04-03 07:16:52

标签: android android-layout android-gridview android-relativelayout

我有一个网格视图。我有自定义视图的简单网格适配器, 但是该自定义视图隐藏了图像,但我可以在Eclipse图形布局视图中看到视图。但是当我运行它时,它隐藏了一个图像

    custom grid item layout :

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/grid_item"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <RelativeLayout
            android:id="@+id/gridviewlayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/grid_item_selector" >

            <ImageView
                android:id="@+id/picture"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/text"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="5dp"
                android:padding="5dp"
                android:src="@drawable/ic_launcher" />

            <TextView
                android:id="@+id/text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_marginTop="10dp"
                android:gravity="center"
                android:paddingBottom="5dp"
                android:singleLine="true"
                android:text="settings"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="@color/black"
                android:textStyle="bold" />
        </RelativeLayout>

    </LinearLayout>

3 个答案:

答案 0 :(得分:2)

请检查您的错误日志中是否有自定义网格项布局xml,我已经检查了您的代码并提供了示例给出了输出。 可能是您的图片已损坏。检查您的drawable / ic_launcher文件或您的资源文件夹替换为另一个图像并尝试。

答案 1 :(得分:0)

请分享图片您想要的视图类型。当您使用RelativeLayout时,它肯定会隐藏一些视图 - Layout_rightof,Layout_above通过设置这些属性,您可以适当地设置视图

For example:

 <ImageButton
        android:id="@+id/imgMenu"
        android:layout_width="..."
        android:layout_height="..."
        android:layout_gravity="..."
        android:background="@drawable/bottom_key"
        ... />

    <TextView
        android:id="..."
        android:layout_width="..."
        android:layout_toRightOf="@+id/imgMenu"
        android:layout_height="..."
        android:layout_marginLeft="10dp"
        android:gravity="center"
          />

以上内容显示Textview正好是我的ImageView

-Hello尝试使用Imageview固定高度和宽度检查会发生什么。

答案 2 :(得分:0)

  1. 删除不必要的LinearLayout

  2. ImageView换成FrameLayout为:

    <FrameLayout
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:layout_above="@+id/text"
        android:layout_alignParentTop="true"
        >
    
    <ImageView
        android:id="@+id/picture"
        android:layout_width="match_parent"
            android:layout_height="match_parent"  
            android:adjustViewBounds="true"
            android:layout_gravity="center"
            android:gravity="center"
            android:layout_marginBottom="5dp"
            android:padding="5dp"
            android:src="@drawable/ic_launcher" />
    
    </FrameLayout>
    
  3. 希望这有帮助!