即使在视图中添加了填充后,海拔也无法正常工作,这是“相对”布局,我还要在图像视图中添加阴影。
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/tvContinueWith"
android:layout_marginTop="@dimen/_10dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgFb"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:elevation="@dimen/_5dp"
android:src="@drawable/fb"
/>
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgGoogle"
android:layout_toRightOf="@+id/imgFb"
android:layout_marginLeft="@dimen/_5dp"
android:layout_centerInParent="true"
android:src="@drawable/google"
android:elevation="@dimen/_5dp"
/>
</RelativeLayout>
答案 0 :(得分:4)
我使用下面的代码将阴影添加到任何看起来是圆形的View
中。适用于棒棒糖及更高版本。
myCircularImageView.setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
outline.setOval(0, 0, view.getWidth(), view.getHeight());
}
});
myCircularImageView.setClipToOutline(true);
我不鼓励使用CardView
,因为它会使您的布局更加复杂。
答案 1 :(得分:0)
一种简单的方法是在卡片视图中使用textview,然后使用
android:elevation=""
,有关如何使用CardView的信息,请参见this。
答案 2 :(得分:0)
您可以将cardview用作相对布局的父布局,并将高程指定给cardview。它将给您的imageview阴影。希望它对您有用。
<android.support.v7.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardElevation="5dp"
app:cardCornerRadius="5dp"
card_view:cardBackgroundColor="@color/colortransperent">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/tvContinueWith"
android:layout_marginTop="@dimen/_10dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgFb"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:elevation="@dimen/_5dp"
android:src="@drawable/fb"
/>
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgGoogle"
android:layout_toRightOf="@+id/imgFb"
android:layout_marginLeft="@dimen/_5dp"
android:layout_centerInParent="true"
android:src="@drawable/google"
android:elevation="@dimen/_5dp"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
答案 3 :(得分:0)
最好使用CardView,并在CardView中添加RelativeLayout并用match_parent填充它。
然后使用CardView的'elevation'属性
<android.support.v7.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="5dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/tvContinueWith"
android:layout_marginTop="@dimen/_10dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgFb"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:elevation="@dimen/_5dp"
android:src="@drawable/fb"
/>
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgGoogle"
android:layout_toRightOf="@+id/imgFb"
android:layout_marginLeft="@dimen/_5dp"
android:layout_centerInParent="true"
android:src="@drawable/google"
android:elevation="@dimen/_5dp"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
CardView的依赖性
implementation 'com.android.support:cardview-v7:28.0.0'