我正在处理Android应用程序,但我遇到了如何在视图中显示图像的问题。我的问题是我想在我的imageView下面显示一个图像和两个textView,而不是将它们的底部与父对齐。请参阅下面的线框。
我的问题是,当imageView占据relativeLayout的所有高度时,我的textViews隐藏在父视图下面。
我尝试了很多东西,但没有什么是令人满意的...... 我试图将我的imageview放在linearLayout中并对其加权但是如果我的imageView较小,我在imageView和textView之间有一个空白。
它很复杂,因为我加载的每个图像都可以有不同的大小,因此我无法修复它的默认大小。 另外,我的布局是在viewPager中,当我想在我的适配器上实例化它时,我想获得视图的高度,它返回0.所以我无法计算视图中元素的大小。
您知道如何制作我的布局吗?
也许在一个CoordinatorLayout中有循环依赖(但我不知道如何制作它)?
这是我想用我的观点做的线框:image
这里是我的布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_photo_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/relative_photo_detail_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/relative_photo_detail_bottom_infos">
<ImageView
android:id="@+id/photo_detail_full_size"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/placeholder"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"/>
<TextView
android:id="@+id/photo_detail_owner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/photo_detail_full_size"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:textColor="@color/grey"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/relative_photo_detail_bottom_infos"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/relative_photo_detail_image"
android:padding="10dp">
<ImageView
android:id="@+id/photo_detail_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:src="@drawable/delete"/>
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:0)
尝试将您的代码放在滚动视图
中答案 1 :(得分:0)
像这样的东西
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_gravity="center_horizontal" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Large Text"
android:id="@+id/textView2"
android:textAlignment="center" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Large Text"
android:id="@+id/textView3"
android:textAlignment="center" />
</LinearLayout>
答案 2 :(得分:0)
更新您的布局结构,如下所示:
.container {
background: url(http://via.placeholder.com/350x300) no-repeat center center orange;
background-size: contain;
animation-duration: 3s;
animation-name: changewidth;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes changewidth {
from {
width: 100px;
height: 300px
}
to {
width: 300px;
height: 100px
}
}
<强>输出:强>
希望这会有所帮助〜