图标布局帮助

时间:2011-05-12 04:25:22

标签: android android-layout android-gridview

我正在尝试复制Apple的应用程序图标布局。我在使用<merge>时遇到问题 和<include>,因为它在我运行时似乎没有显示在应用程序中。

Icon

这是合并部分:          

<Button android:id="@+id/deleteContact"
        android:text="X"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

<TextView android:id="@+id/personName"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:gravity="bottom|right"
          android:layout_gravity="bottom|right"
          android:textSize="20sp"
          android:text="asdfasdf"/>

<ImageView android:id="@+id/personImage"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:src="@drawable/icon"/>       

</merge>

包括在这里:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content">

<include layout="@layout/icon"/>

 </LinearLayout>

我将这些放在网格视图中:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
              android:id="@+id/contactsGrid"
              android:layout_width="fill_parent"
              android:layout_weight="1"
              android:layout_height="fill_parent"
              android:numColumns="3"
              android:horizontalSpacing="3dip"
              android:verticalSpacing="3dip" />

到目前为止,我们已设法使用relativelayouts合并图像和文本,但是当我们添加删除按钮时,无法再点击整个图标本身。

1 个答案:

答案 0 :(得分:0)

看起来你的事情比他们可能需要的更复杂。尝试使用RelativeLayout作为按钮,文本和imageview的父视图。例如,看看以下内容:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView android:id="@+id/personImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
<TextView android:id="@+id/personName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@id/personImage"
    android:layout_alignRight="@id/personImage"/>
<Button android:id="@+id/deleteContact"
    android:text="X"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@id/personImage"
    android:layout_alignLeft="@id/personImage"/>
</RelativeLayout>

您实际上应该能够在GridView中使用它。您可能希望将Button替换为使用实际图像的ImageButton。