1

ここに私のレイアウトコードがあります:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical" >





        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="5dp"
            android:gravity="center" >

            <TableRow
                android:id="@+id/tableRow1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1" >

                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="5dp"
                    android:layout_weight="1"
                    android:background="@drawable/round"
                    android:scaleType="fitXY" />

                <ImageView
                    android:id="@+id/imageView2"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="5dp"
                    android:layout_weight="1"
                    android:background="@drawable/roundp" 
                    android:scaleType="fitXY"/>
            </TableRow>

            <TableRow
                android:id="@+id/tableRow2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1" >

                <ImageView
                    android:id="@+id/imageView3"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="5dp"
                    android:layout_weight="1"
                    android:background="@drawable/roundp"
                    android:scaleType="fitXY" />

                <ImageView
                    android:id="@+id/imageView4"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="5dp"
                    android:layout_weight="1"
                    android:scaleType="fitXY" />
            </TableRow>
        </TableLayout>

    </LinearLayout>

roundp.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">
    <corners 
        android:topRightRadius="0dp"
        android:bottomLeftRadius="25dp"
        android:topLeftRadius="25dp"
        android:bottomRightRadius="0dp"/>

   <stroke 
       android:width="2dp"
       android:color="@color/red" />
   <solid 
       android:color="@color/white"/>


</shape>

round.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">
    <corners 
        android:topRightRadius="25dp"
        android:bottomLeftRadius="0dp"
        android:topLeftRadius="0dp"
        android:bottomRightRadius="25dp"/>

   <stroke 
       android:width="2dp"
       android:color="@color/red" />
   <solid 
       android:color="@color/white"/>


</shape>

ImageView に画像を配置しないと、角が丸い空の ImageView が表示されます。画像を配置すると、角が丸くなり、通常の長方形が画像とともに表示されます。この問題を解決するには?

どんな助けでも大歓迎です。

4

4 に答える 4

0

グラデーションを形状xmlに配置します。

<gradient
        android:angle="270"
        android:endColor="#fddd"
        android:startColor="#ffff" />
于 2012-10-17T09:20:19.947 に答える
0

layout_weight 属性を使用していますが、どこでも weight_sum 属性を使用していません。

于 2013-03-08T08:14:31.023 に答える
-1

ラウンドの場合、uはandroid:paddingを追加してボーダーを表示できます。

ただし、ラウンドについては、コードjavaで画像を処理しない限り、修正する必要はありません。

于 2012-10-17T07:21:17.820 に答える
-1

画像の角を丸くするコードがあります

public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {  

    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 = pixels;  

    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);  <br>
    return output;  

}
于 2012-10-17T08:37:05.457 に答える