San*_*dav 156 android shapes textview
我有一个textview,并希望它的角落呈圆形.我已经知道可以使用了android:background="@drawable/somefile".在我的情况下,此标记已包含在内,因此无法再次使用.例如android:background="@drawable/mydialogbox",已经在那里创建背景图像
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="top"
android:background="@drawable/mydialogbox"
android:orientation="horizontal" >
<TextView
android:id="@+id/textview_name"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
所以当我textview(textview_name)还想要圆角时,如何实现这一目标.
dip*_*ali 410
1)rounded_corner.xml在drawable文件夹中创建并添加以下内容,
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
android:width="1dp"
android:color="@color/common_border_color" />
<solid android:color="#ffffff" />
<padding
android:left="1dp"
android:right="1dp"
android:bottom="1dp"
android:top="1dp" />
<corners android:radius="5dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
2)在TextViewbackground属性中设置此drawable.例如:
android:background="@drawable/rounded_corner"
我希望这对你有用.
pre*_*nda 16
由于您的顶级视图已经具有android:background属性集,因此您可以使用<layer-list>(链接)创建一个新的XML drawable,它结合了旧背景和新的圆角背景.
<item>列表中的每个元素都将绘制在下一个元素上,因此列表中的最后一个项目最终位于顶部.
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap android:src="@drawable/mydialogbox" />
</item>
<item>
<shape>
<stroke
android:width="1dp"
android:color="@color/common_border_color" />
<solid android:color="#ffffff" />
<padding
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<corners android:radius="5dp" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
Pha*_*inh 14
除此之外radius,还有一些属性圆角状topRightRadius,topLeftRadius,bottomRightRadius,bottomLeftRadius
例子TextView有red边界with corner and灰色`背景
bg_rounded.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="10dp"
android:color="#f00" />
<solid android:color="#aaa" />
<corners
android:radius="5dp"
android:topRightRadius="100dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
的TextView
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_rounded"
android:text="Text"
android:padding="20dp"
android:layout_margin="10dp"
/>
Run Code Online (Sandbox Code Playgroud)
结果
Gab*_*tti 14
通过材料组件库,您可以使用MaterialShapeDrawable.
随着TextView:
<TextView
android:id="@+id/textview"
../>
Run Code Online (Sandbox Code Playgroud)
您可以以编程方式应用一个MaterialShapeDrawable:
float radius = getResources().getDimension(R.dimen.corner_radius);
TextView textView = findViewById(R.id.textview);
ShapeAppearanceModel shapeAppearanceModel = new ShapeAppearanceModel()
.toBuilder()
.setAllCorners(CornerFamily.ROUNDED,radius)
.build();
MaterialShapeDrawable shapeDrawable = new MaterialShapeDrawable(shapeAppearanceModel);
ViewCompat.setBackground(textView,shapeDrawable);
Run Code Online (Sandbox Code Playgroud)
如果要更改背景颜色和边框,只需应用:
shapeDrawable.setFillColor(ContextCompat.getColorStateList(this,R.color.....));
shapeDrawable.setStroke(2.0f, ContextCompat.getColor(this,R.color....));
Run Code Online (Sandbox Code Playgroud)
San*_*inh 11
有两个步骤
1)在您的可绘制文件夹中创建此文件:- rounded_corner.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="10dp" /> // set radius of corner
<stroke android:width="2dp" android:color="#ff3478" /> // set color and width of border
<solid android:color="#FFFFFF" /> // inner bgcolor
</shape>
Run Code Online (Sandbox Code Playgroud)
2) 将此文件设置为您的TextView作为背景属性。
android:background="@drawable/rounded_corner"
Run Code Online (Sandbox Code Playgroud)
您也可以在 Button 或 Edittext 中使用此 drawable
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dp" />
<solid android:color="#ffffff"/>
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
您可以使用提供的矩形形状(没有渐变,除非您想要一个),如下所示:
在drawable/rounded_rectangle.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp" />
<stroke android:width="1dp" android:color="#ff0000" />
<solid android:color="#00ff00" />
</shape>
Run Code Online (Sandbox Code Playgroud)
然后在您的文本视图中:
android:background="@drawable/rounded_rectangle"
Run Code Online (Sandbox Code Playgroud)
当然,您需要自定义尺寸和颜色。
在drawable文件夹下创建一个xml gradient.xml文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<corners android:radius="50dip" />
<stroke android:width="1dip" android:color="#667162" />
<gradient android:angle="-90" android:startColor="#ffffff" android:endColor="#ffffff" />
</shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
然后将此添加到您的TextView
android:background="@drawable/gradient"
Run Code Online (Sandbox Code Playgroud)
小智 5
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp" />
<stroke android:width="1dp" />
<solid android:color="#1e90ff" />
</shape>
Run Code Online (Sandbox Code Playgroud)
android:background="@drawable/corner"| 归档时间: |
|
| 查看次数: |
146883 次 |
| 最近记录: |