问题描述
我正在尝试创建圆形CardView。但是我不知道该怎么做。有什么属性可以获取循环CardView?。
XML代码如下:
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view_outer"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_gravity="center"
card_view:cardBackgroundColor="@android:color/transparent"
card_view:cardCornerRadius="0dp"
card_view:cardElevation="3dp" >
</android.support.v7.widget.CardView>
解决方法
<androidx.cardview.widget.CardView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="10dp"
app:cardCornerRadius="100dp"/>
可能正在将app:cardCornerRadius更改为宽度和高度的一半。
OR 可能是自定义CardView
public class CircularCardView extends CardView {
public CircularCardView(@NonNull Context context) {
super(context);
}
public CircularCardView(@NonNull Context context,@Nullable AttributeSet attrs) {
super(context,attrs);
}
public CircularCardView(@NonNull Context context,@Nullable AttributeSet attrs,int defStyleAttr) {
super(context,attrs,defStyleAttr);
}
@Override
protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec,heightMeasureSpec);
int width = getMeasuredWidth();
setMeasuredDimension(width,width);
setRadius(width/2);
}
}
XML
<com.yourpackage.name.CircularCardView
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_margin="10dp"
app:cardElevation="10dp"
/>
,
只需使用 shapeAppearanceOverlay
属性:
<com.google.android.material.card.MaterialCardView
android:layout_width="100dp"
android:layout_height="100dp"
app:cardBackgroundColor="@color/colorPrimaryLight"
app:shapeAppearanceOverlay="@style/circle"
/>
具有:
<style name="circle">
<item name="cornerSize">50%</item>
</style>
,
如果您迁移到androidx会更好,但是您可以使用此代码在名片视图中添加形状
<app:android.support.v7.widget.CardView
android:layout_width="150dp"
android:layout_height="148dp"
android:elevation="12dp"
app:cardCornerRadius="75dp"
android:layout_centerHorizontal="true"
android:innerRadius="40dp"
android:shape="ring"
android:thicknessRatio="4">
</app:android.support.v7.widget.CardView>
,
我想要一个圆形的图像,所以做了类似的事情
import tensorflow as tf
from tensorflow.python.framework import test_util
class MyTestCase(tf.test.TestCase):
@test_util.run_in_graph_and_eager_modes
def test_something():
#...