【问题标题】:Background image and also background color in TableLayoutTableLayout 中的背景图像和背景颜色
【发布时间】:2014-03-06 18:40:20
【问题描述】:

我正在开发一个 Android 应用程序,我想创建一个具有白色背景和左上角对齐的背景图像的 TableLayout,因为它是一种“弯曲效果”。

这是左上角的图片:

我这样定义了 TableLayout:

<TableLayout
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="16dp"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:layout_marginTop="16dp"
    android:background="@color/white" >

但我不知道如何将图像放在左上角,或者背景图像是否与背景颜色兼容,或者是否有更好的方法来做这件事......

【问题讨论】:

  • 您只能有 1 个背景。在颜色、图像或可绘制对象之间进行选择。

标签: android background tablelayout


【解决方案1】:

定义图像去向的最佳方式是在该布局中使用 Imageview。您可以使用 android:gravity 定义图像的位置

【讨论】:

    【解决方案2】:

    您可以使用ImageView 实现弯曲效果,其中白色将作为背景,图像将设置为src,如下所示...

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/white"
        android:src="@drawable/image" />
    

    【讨论】:

      【解决方案3】:

      最后我在 TableRow 中插入了一个 ImageView

      <!-- 2 columns -->
          <TableRow
              android:id="@+id/tableRow1"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content" 
                  >
          <!-- top left bend -->
          <ImageView
              android:layout_gravity="left|top"
              android:adjustViewBounds="true"
              android:background="@drawable/top_left_corner_bend"
              android:contentDescription="@string/email"
          />
          <!-- top left bend -->
          </TableRow>
      

      并且工作正常。谢谢。

      【讨论】: