ven studio redondear programacion poner los estilos esquinas declarar cuadrados como color botones boton bordes android imagebutton

studio - Esquinas redondeadas con botones de imagen de android



no se ven los botones en android studio (5)

Crear image_rounded_corner.xml dentro de / res / drawable

<?xml version="1.0" encoding="UTF-8" ?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#000000" /> <stroke android:width="3dp" android:color="#776da8" /> <corners android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" android:topRightRadius="5dp" /> <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" /> </shape>

Llame al archivo image_rounded_corner.xml con android:background

<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/myimage" android:src="@drawable/icon" android:background="@drawable/image_rounded_corner" />

o use un archivo Draw 9-patch como se sugiere "Artoo Detoo".

Estoy tratando de redondear las esquinas en un botón de imagen de Android, el código se ve así;

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton" android:layout_marginTop="57dp" android:src="@drawable/friends" android:padding="1dp" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/imageButton2" android:layout_marginRight="62dp" /> </RelativeLayout> </LinearLayout>

Básicamente nuestra salida es un ImageButton pero tiene esquinas cuadradas, estamos tratando de redondear las esquinas.

Gracias


Podría usar un selector hecho de formas dibujables como fondo, por ejemplo:

rounded_bg.xml (que se creará en la carpeta res / drawable-nodpi)

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

Cree otro, cambiando el color al que se hace referencia en solid android:color="#ffffff" , por ejemplo a solid android:color="#ff0000" y nombre ese archivo rounded_bg_selected.xml

Cree el selector (también en res / drawable-nodpi), asígnele el nombre selectable_button_bg.xml:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/rounded_bg_selected" /> <item android:state_focused="false" android:drawable="@drawable/rounded_bg" /> </selector>

Luego haz referencia en tu diseño:

<ImageButton android:background="@drawable/selectable_button_bg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton" android:layout_marginTop="57dp" android:src="@drawable/friends" android:padding="1dp" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/imageButton2" android:layout_marginRight="62dp" />


Usa Shape en Android para hacer las esquinas más redondas.

crear el archivo xml llamado como roundcorner.xml

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#33DDFF" /> <corners android:radius="4dp" /> </shape>

En tu ImageButton agrega este atributo android:background="@drawable/roundcorner"

<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton" android:layout_marginTop="57dp" android:src="@drawable/friends" android:background="@drawable/roundcorner" android:padding="1dp" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/imageButton2" android:layout_marginRight="62dp" />


Usa esto: pon esto en la carpeta res / drawable

my_gradient.xml

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="100dp" /> <stroke android:width="5dp" android:color="#090" /> </shape>

En tu ImageButton solo pon:

android:background="@drawable/my_gradient"


public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); final RectF rectF = new RectF(rect); final float roundPx = pixels; paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output; }

este código te ayudará. (De un artículo chino: http://www.cnblogs.com/liuweiming/archive/2012/04/23/2466074.html )