如何以编程方式在 android 中制作此布局。
我只想要一个想法而不是整个编码的东西。
如何以编程方式在 android 中制作此布局。
我只想要一个想法而不是整个编码的东西。
这是答案,但不是直接答案。这就是我个人以编程方式创建复杂布局的方法。
在 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>
现在从顶级 parent到child。
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。
基本理念:
创建一个RelativeLayout
包含一个ImageView
和两个TextView
底部对齐的
设置 alphaRelativeLayout
来调整透明度
您可以有一个相对布局,其中包含一个用于大图像的图像视图,在它下面还有一个包含图像和文本的线性布局,如“珍珠大陆......”,并且衬里布局的背景应该是 50-60% 透明。使用形状为 LL 创建背景。并将其设置为对齐父(相对)布局的底部。希望这可以帮助你