我正在尝试将图像视图作为横幅添加到回收者视图的顶部。因此在某些情况下,我可以隐藏(View.GONE)或显示该横幅图像视图(View.VISIBLE)。但是问题是,即使我在图像视图xml中设置了android:visibility="visible"
,横幅图像视图也永远不会在我运行应用程序时显示。
如您所见,我有红色背景的图像视图,但是红色背景图像视图不会显示
如何解决这个问题?
我片段中的布局是这样的
这是xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Fragments.Search.SearchKeywordResultFragment"
android:id="@+id/constraintLayout_search_keyword_fragment">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="0dp"
android:layout_height="0dp"
android:scrollbars="vertical"
tools:listitem="@layout/item_general_event"
android:id="@+id/recyclerView_keyword_search_result"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<ImageView
android:id="@+id/imageView_banner_search_keyword"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:background="#E91E63"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@+id/recyclerView_keyword_search_result"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:src="@tools:sample/avatars[3]" />
</androidx.constraintlayout.widget.ConstraintLayout>
答案 0 :(得分:0)
只需将Recycler的TopToTop约束更改为Image视图的ID,然后将其更改为TopToBottom。 为此,您还需要先声明imageview,以便能够解决其ID。 还要指定横幅宽度:match_parent
<ImageView
android:id="@+id/imageView_banner_search_keyword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:background="#E91E63"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@+id/recyclerView_keyword_search_result"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:src="@tools:sample/avatars[3]" />
<androidx.recyclerview.widget.RecyclerView
android:layout_width="0dp"
android:layout_height="0dp"
android:scrollbars="vertical"
tools:listitem="@layout/item_general_event"
android:id="@+id/recyclerView_keyword_search_result"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="imageView_banner_search_keyword" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
答案 1 :(得分:0)
我已经用过类似的方法,您可以尝试一下,它可以正常工作
var onSelect = function(e) {
var a = e.item.innerText;
console.log(e.item.innerText);
if(a ==="Tab 1"){
console.log("Tab 1 selected");
}
};
您可以在Viewpager上使用Imageview。
答案 2 :(得分:0)
因为在imageView上有代码行tools:src="@tools:sample/avatars[3]"
工具功能,它将仅在android布局编辑器上显示。
尝试从位图或app:srcCompat="@drawable/{your_drawable_or_mipmap_data_file}"
的可绘制对象更改为真实图像
答案 3 :(得分:0)
尝试在ImageView上设置android:adjustViewBounds="true"
或android:scaleType="fitCenter"
答案 4 :(得分:0)
布局固定。 您的底部回收视图方法存在问题。 您正在使用工具来显示图像,因为您必须使用Java / Kotlin代码设置“图像”,所以它不会在设备或仿真器上显示图像。
imageView.setBackgroundResource(R.drawable.img1)
imageView.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.img1));
或者如果您要获取图像表单服务器,请尝试使用 Glide 或任何其他图像加载器库。
<androidx.recyclerview.widget.RecyclerView
android:layout_width="0dp"
android:layout_height="0dp"
android:scrollbars="vertical"
tools:listitem="@layout/item_general_event"
android:id="@+id/recyclerView_keyword_search_result"
app:layout_constraintBottom_toTopOf="@+id/imageView_banner_search_keyword"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<ImageView
android:id="@+id/imageView_banner_search_keyword"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:background="#E91E63"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:src="@tools:sample/avatars[3]" />
</androidx.constraintlayout.widget.ConstraintLayout>