2012-05-21 2 views
2

Это мой XML макет:Закругленные углы в ImageView

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="75dp" 
    android:padding="3dp" > 
    <ImageView 
     android:id="@+id/img" 
     android:layout_width="75dp" 
     android:layout_height="75dp" 
     android:scaleType="fitCenter" 

     /> 

    <TextView 
     android:id="@+id/name" 
     android:layout_width="208dp" 
     android:layout_height="75dp" 
     android:paddingLeft="15dp" 
     android:paddingTop="15dp" /> 


    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="30dp" 
     android:layout_gravity="center" 
     android:src="@drawable/ash_arrow" /> 

</LinearLayout> 

Как я могу показать мои ImageView с закругленными углами?

+0

Если ваши изображения являются png, вы можете создать пользовательскую форму в папке с возможностью рисования, установить ее углы и цвет и установить в качестве фона ImageView. – Demonick

+1

http://stackoverflow.com/questions/2459916/how-to-make-an-imageview-to-have-rounded-corners – Krishnabhadra

+0

[Возможный дубликат] (http://stackoverflow.com/q/9517434/940096) – Praveenkumar

ответ

3

ash_arrow.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval"> 

    <!--Background with solid color--> 

    <solid android:color="@color/colorWhite"/> 

    <!--background with gradient--> 
    <!--<gradient--> 
    <!--android:centerColor="#fff"--> 
    <!--android:centerX="50%"--> 
    <!--android:centerY="50%"--> 
    <!--android:endColor="#f0f"--> 
    <!--android:gradientRadius="100"--> 
    <!--android:startColor="#f00"--> 
    <!--android:type="radial"/>--> 

    <!--Stoke with dashed line--> 
    <!--<stroke--> 
    <!--android:width="8dp"--> 
    <!--android:color="#f00"--> 
    <!--android:dashGap="8dp"--> 
    <!--android:dashWidth="8dp"/>--> 

    <!--Stroke normal--> 
    <stroke 
     android:width="1dp" 
     android:color="@color/willow_grove"/> 

    <padding 
     android:bottom="0dp" 
     android:left="0dp" 
     android:right="0dp" 
     android:top="0dp"/> 

</shape> 

enter image description here

+2

как использовать этот xml ?? – Eman87

+0

Как это показывает изображение с закругленными углами? Разве это не просто заменяет изображение? – AmiguelS

+0

@AmiguelS: используйте как это -> android: background = "@ drawable/ash_arrow" и установите изображение Оригинальное изображение android: src = "@ drawable/ic_launcher" – Aerrow

1

Что делать, если вы попытаетесь установить фон в свой ImageView, указав 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="20dip" /> 
</shape> 
10

Использование ниже кода. Это может вам помочь -

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) { 
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), 
    bitmap.getHeight(), 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 = 12; 

paint.setAntiAlias(true); 
canvas.drawARGB(0, 0, 0, 0); 
paint.setColor(color); 
canvas.drawRoundRect(rectF, roundPx, roundPx, paint); 

paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); 
canvas.drawBitmap(bitmap, rect, rect, paint); 

return output; 
} 

Передайте изображение растрового изображения в этот метод и получите его как закругленный угол.

+3

FYI. Он попросил округлизованного изображения ImageView не загнанного в угол растрового изображения. – Aerrow

+0

Будет работать. Он преобразует файл растрового изображения, который идет программно, на производительность «ImageView» – Praveenkumar

+0

. Есть ли способ ускорить процесс? – Jacky

Смежные вопросы