我有一个LinearLayout,其中有两个项目:顶部的ImageView和底部固定大小的水平LinearLayout。
我想让我的ImageView视图填充所有空白区域。
所以它适用于:
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
但现在我想用CardView包装我的ImageView:
<android.support.v7.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
card_view:cardBackgroundColor="#ffd9d9d9"
card_view:cardCornerRadius="2dp"
android:layout_margin="6dp"
card_view:cardElevation="2dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_centerInParent="true"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
当然它并不像我想要的那样工作。 (但它应该显示我想要的东西)
我想在第一个代码示例中获取ImageView,但包含在GridView中。
我该怎么做?
提前谢谢。
另外:有没有办法在cardview中居中使用relativelayout? layout_gravity =&#34;中心&#34;不起作用。我不知道为什么。 (为什么?)
非常感谢你。
答案 0 :(得分:0)
我想在第一个代码示例中获取ImageView,但包含在GridView中。
你的CardView就是wrap_content,这意味着它的尺寸是在孩子们之后确定的。你的ImageView没有固定的尺寸,所以我要说的就是使用这个
void RemovePet(std::vector<Pet> & pets, std::string name) {
pets.erase(
std::remove_if(pets.begin(), pets.end(), [&](Pet const & pet) {
return pet.Name == name;
}),
pets.end());
}
有没有办法在cardview中居中使用relativelayout? layout_gravity =&#34;中心&#34;不起作用。我不知道为什么。 (为什么?)
作为卡片视图的元素,而不是使用<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside" // or fitCenter
/>
仅使用layout_gravity
和gravity
删除center_horizontal
,除非您需要它,然后您必须添加centerInParent RelativeLayout