2

在此处输入图像描述

如何以编程方式在 android 中制作此布局。

我只想要一个想法而不是整个编码的东西。

4

3 回答 3

3

这是答案,但不是直接答案。这就是我个人以编程方式创建复杂布局的方法。

在 XML 中创建相同的布局。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/some_big_image" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:background="#DD000000" >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/imageView2"
        android:layout_toRightOf="@+id/imageView2"
        android:text="TextView"
        android:textColor="@android:color/white" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageView2"
        android:layout_toRightOf="@+id/imageView2"
        android:text="TextView"
        android:textColor="@android:color/white" />
</RelativeLayout>

现在从顶级 parentchild

    RelativeLayout mParent = new RelativeLayout(this);
    RelativeLayout.LayoutParams mParentParams = new RelativeLayout.LayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT));
    mParent.setLayoutParams(mParentParams);

    ImageView mBigImageView = new ImageView(this);
    mBigImageView.setLayoutParams(mParentParams);
    mParent.addView(mBigImageView);

当您练习时,您可以直接编写相同的代码,而无需创建 xml。

于 2014-07-17T07:06:51.233 回答
0

基本理念:

  1. 创建一个RelativeLayout包含一个ImageView和两个TextView底部对齐的

  2. 设置 alphaRelativeLayout来调整透明度

于 2014-07-17T07:02:06.953 回答
0

您可以有一个相对布局,其中包含一个用于大图像的图像视图,在它下面还有一个包含图像和文本的线性布局,如“珍珠大陆......”,并且衬里布局的背景应该是 50-60% 透明。使用形状为 LL 创建背景。并将其设置为对齐父(相对)布局的底部。希望这可以帮助你

于 2014-07-17T07:02:24.180 回答