我正在尝试创建带有圆角的小部件button
,也可以将其更改为所需的任何颜色。我目前使用xml布局文件创建圆角。问题是当我更改颜色时,button
返回其矩形形状。我希望它至少保持其圆角。
我无法找到解决方案,但所有想法都令人感激。可能不可能,但我想问一下。要点是,我试图将远程视图作为窗口小部件的一部分来实现,而不是在容易进行的活动中实现。
很高兴考虑任何选择...
谢谢
RemoteViews views;
views = new RemoteViews(context.getPackageName(), R.layout.mycustomlayout);
views.setInt(R.id.widgetbutton,"setBackgroundColor", Color.parseColor(widgethexcolor));
答案 0 :(得分:0)
在可绘制文件夹中创建布局资源文件,并将其称为 在按钮属性内 android:background =“ @ drawable / shape.xml” 。
您也可以使用Solid代替Gradient
shape.xml的代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="20dp"
/>
<gradient
android:angle="45"
android:centerX="35%"
android:centerColor="#00d6a3"
android:startColor="#9e9c97"
android:endColor="#ffffff"
android:type="linear"
/>
<size
android:height="45dp"
android:width="250dp"
/>
</shape>
答案 1 :(得分:0)
请检查并执行以下步骤:
1.根据需要创建形状文件
2.将形状文件设置为小部件的背景
3.按照要求从.java
文件中更改颜色。
bg_button_round_corners.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#CBCBCB"/> <!-- you can use any color you want-->
<corners android:radius="10dp"/>
</shape>
布局文件:
<Button
android:id="@+id/customButton"
android:layout_width="match_parent"
android:layout_height="56dp"
android:textSize="12sp"
android:layout_gravity="center"
android:background="@drawable/bg_button_round_corners"/>
活动文件:
customButton= (Button) view.findViewById(R.id.customButton);
int color = Color.parseColor("#00FFFF");
((GradientDrawable)circleColor.getBackground()).setColor(color);
答案 2 :(得分:-1)
首先在drawable文件夹中创建一个资源文件,例如:bg_white_rounded.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/space5"/>
<solid android:color="@android:color/white"/>
</shape>
然后在您的按钮布局中添加:
android:background="@drawable/bg_white_rounded.xml"
PS:更改所需的空间半径尺寸。