Cómo dibujar rectángulo redondeado en la interfaz de usuario de Android?

Necesito dibujar un rectángulo redondeado en la interfaz de usuario de Android. Tener el mismo rectángulo redondeado para TextView y EditText también sería útil.

En su diseño xml haga lo siguiente:

  <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> 

Al cambiar el android: radio, puede cambiar la cantidad de "redondeo" de las esquinas.

Creo que esto es lo que necesitas.

Aquí dibujable (xml) archivo que crea redondeado rectángulo. 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> 

Aquí el archivo de diseño: 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> 

-> En el código anterior, LinearLayout teniendo el fondo (Que es el papel clave a colocar para crear rectángulo redondeado). Así que puede colocar cualquier vista como TextView, EditText … en ese LinearLayout para ver el fondo como rectángulo redondo para todos.

En monodroid , puedes hacer esto para el rectángulo redondeado, y luego mantener esto como una clase padre, editbox y otras características de diseño se pueden agregar.

  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); } } } 

Si desea utilizar el rectángulo redondeado como fondo para TextView y EditText, debe utilizar un fondo personalizado. Usted necesita utilizar el componente de la forma para esto para más Info leído esta pregunta Usando la forma drawable como mi fondo xml

  • Con quién comparar un fondo Recurso de imagen TextView con una imagen R.drawable.bg_image para cambiar
  • Adición dinámica de una vista de texto
  • Cambio de tipo de texto justificado
  • Altura de línea de Android Spannable
  • Cómo hacer que un TextView parezca un encabezado PreferenciaCategoría de un ajuste
  • Evite que TextView de Android rompa enlaces
  • NSString: sizeWithFont: forWidth: lineBreakMode Android equivalente
  • Establecer el color específico de ColorStateList mediante programación
  • TextView y Ellipsize cuando es apretado por otro TextView
  • Fondo de desvanecimiento de TextView desplazable
  • Cómo agregar elipses al texto StaticLayout cuando supera su altura?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.