这个问题在这里被问过很多次,但没有一个解决方案对我有用,因为我的 XML 布局有点不同。
我有一个带有LinearLayout 的XML,其中包含一个ImageView 和一个TextView。XML 是使用 Java 代码填充的。它是一个文件选择器库,它列出了 android 文件系统中存在的文件和文件夹。
这是 XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/file_picker_image"
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_marginBottom="5dip"
android:layout_marginLeft="5dip"
android:layout_marginTop="5dip"
android:contentDescription="@string/app_name"
android:scaleType="centerCrop"
android:src="@drawable/file" />
<TextView
android:id="@+id/file_picker_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:singleLine="true"
android:text="@string/file_name"
android:textSize="28sp" />
</LinearLayout>
现在,我想在此列表下方添加一个按钮。当我尝试在 XML 中添加按钮时,它会遍历每一行,并且按钮会显示在每一行中。当我使用Java代码执行此操作时,按钮更近,也不显示文本视图,但显示图像视图。
我想要的与这篇文章中的图像相似,但直到现在都无法实现。我在此处阅读的这些解决方案或任何其他解决方案均不适用于我的情况。
我正在尝试在其源代码在上面提供的链接中的 Activity 中使用此代码添加按钮。我尝试在 FilePickerListAdapter 的构造函数中添加以下代码。
RelativeLayout relLayout = new RelativeLayout(context);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
Button filterBtn = new Button(context);
filterBtn.setText("Filter");
relLayout.addView(filterBtn, params);
请指导我我做错了什么,以及如何使它成为可能。
问候。