如何在Android UI中绘制圆angular矩形?

我需要在Android UI中绘制一个圆angular的矩形。 TextViewEditText具有相同的圆angular矩形也是有帮助的。

在您的布局xml中执行以下操作:

  <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:endColor="@color/something" android:centerColor="@color/something_else" android:startColor="@color/something_else_still" android:angle="270" /> <corners android:radius="3dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> 

通过更改android:radius可以更改angular落的“舍入”数量。

我想,这是你确切需要的。

这里创build圆angular矩形的drawable(xml)文件。 round_rect_shape.xml

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#ffffff" /> <corners android:bottomLeftRadius="8dp" android:bottomRightRadius="8dp" android:topLeftRadius="8dp" android:topRightRadius="8dp" /> </shape> 

这里布局文件:my_layout.xml

 <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/round_rect_shape" android:orientation="vertical" android:padding="5dp" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Something text" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#ff0000" /> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" > <requestFocus /> </EditText> </LinearLayout> 

– >在上面的代码中,LinearLayout具有背景(即创build圆angular矩形的关键angular色)。 因此,您可以将任何视图像TextView,EditText …放在该LinearLayout中,以将所有背景视为圆angular矩形。

monodroid ,您可以像这样做圆angular矩形,然后将其保留为父类,可以添加editbox和其他布局function。

  class CustomeView : TextView { public CustomeView (Context context, IAttributeSet ) : base (context, attrs) { } public CustomeView(Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle) { } protected override void OnDraw(Android.Graphics.Canvas canvas) { base.OnDraw(canvas); Paint p = new Paint(); p.Color = Color.White; canvas.DrawColor(Color.DarkOrange); Rect rect = new Rect(0,0,3,3); RectF rectF = new RectF(rect); canvas.DrawRoundRect( rectF, 1,1, p); } } } 

如果你想使用圆angular矩形作为TextView和EditText的背景,你应该使用自定义背景。 你需要使用形状组件这个更多的信息阅读这个问题使用形状drawable作为我的背景xml

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:padding="10dp" android:shape="rectangle"> <solid android:color="@color/colorAccent" /> <corners android:bottomLeftRadius="500dp" android:bottomRightRadius="500dp" android:topLeftRadius="500dp" android:topRightRadius="500dp" /> </shape> 

现在,你想在哪个元素中使用这个形状,只需添加: android:background="@drawable/custom_round_ui_shape"

在名为“custom_round_ui_shape”的drawable中创build一个新的XML