java - 以编程方式分配时 CardView.setRadius() 不起作用

标签 java android

因此,在我的程序中,我想在预定义的布局上动态生成 CardView,我打算将其放置在水平方向的 LinearLayout 内,该布局位于水平 ScrollView 内。代码中的所有内容都工作正常,除了:

cv.setRadius(Tools.convertDpToPx(context,5));

[cv 是 CardView 对象]

[Tools.convertDpToPx(context,float) 作为静态函数驻留在 Tools 中,并从 DP 返回以像素为单位的翻译值]

尝试使用cv.getRadius()来检查我的值是否已分配,结果确实如此。

有人知道为什么 setRadius() 不起作用吗?

代码的实现

CardView cv = new CardView(context);
// Set external card view wrapper(cv) properties
CardView.LayoutParams cvlp=new CardView.LayoutParams(Tools.convertDpToPx(context,155),Tools.convertDpToPx(context,200));
cvlp.leftMargin=Tools.convertDpToPx(context,10);
cv.setLayoutParams(cvlp);
cv.setBackground(new ColorDrawable(Color.parseColor("#002038")));
cv.setPreventCornerOverlap(false);
cv.setRadius(Tools.convertDpToPx(context,5));
//And more elements added to Card View Layout
cv.setId(View.generateViewId());

最佳答案

向 CardView 添加背景或背景颜色将删除圆角。

关于java - 以编程方式分配时 CardView.setRadius() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60173028/

相关文章:

java - Android,获取 DecorView 子项

java - 为什么我们不能手动迭代 LinkedList?

java - 如何使用Spring管理与多个数据库的连接

java - 通过单击 View 检查 Espresso 是否启动了新 Activity

java - OkHttp 取消调用回调失败

Android:关闭 AlertDialog 后, Activity 似乎失去了焦点

java - Firebase 查询 Or'ing whereEqualTo 以获得可能值的列表

android - 如何在 Xamarin Android 应用程序中将日志输出到 SD 卡上的文件?

java - TimeSeries 与 XYSeries AchartEngine

android - 发送 AJAX POST 请求