创建一个'漂亮'的GridView

时间:2011-07-29 21:23:31

标签: android gridview user-interface imageview

现在我的应用程序/服务器的后端非常完整,现在是时候继续并修复我的gridview了。我正在开发我的HTC EVO并做一些不好的事情(即将高度和宽度设置为实际的像素大小)。

现在我在每个gridview单元格的textview上都有一个图像。

这是我的单元格XML:

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"            
  android:id = "@+id/single_item_id"  
  android:layout_width="100dp"
  android:layout_height="140px"      
  android:orientation="vertical"
  > 
  <ImageView
  android:id = "@+id/album_image"
  android:adjustViewBounds="true"
  android:layout_gravity="center_horizontal"
  android:layout_width="90dp"
  android:layout_height="80px"
  />

  <TextView 
  android:text="TextView" 
  android:id="@+id/textView1" 
  android:layout_width="wrap_content" 
  android:layout_height="60px"
  android:textSize="12sp"
  android:gravity="center" 
  android:layout_gravity="center_horizontal"
  android:layout_below="@id/album_image">
  </TextView>

这是我的gridview xml:

<GridView
  android:id="@+id/gridview"
      android:layout_width="wrap_content" 
  android:layout_height="fill_parent"
  android:numColumns="auto_fit"
  android:verticalSpacing="10dp"
  android:horizontalSpacing="10dp"
  android:columnWidth="90dp"
  android:stretchMode="columnWidth"
  android:gravity="center"
  android:layout_below="@id/firstDivider"></GridView>

我的问题......

我知道我做得不是很好但是我需要一些指针(出于某种原因,这对我来说是最难的)。在代码中,这就是我正在做的事情:

v.setLayoutParams(new GridView.LayoutParams(width / 3,height / 6));

其中width / height是设备宽度/高度。这让事情变得更好......

这里iv是我的图像视图:

iv.setPadding(8, 0, 8, 0);
iv.setScaleType(ImageView.ScaleType.CENTER_CROP);

图像看起来不正确:(

除了所有这些,我的textview中的文字永远不会居中!这些是我现在面临的最大问题。

我确实意识到我的问题很模糊,但任何建议都会很棒。

1 个答案:

答案 0 :(得分:0)

我看起来像是在布局中设置它们之前修改图像视图(大小)。我认为你需要做的是在Adapter.getView(...)中扩展布局并设置布局的layoutParams而不是图像。

相关问题