32

すべての辺が丸みを帯びた長方形の形状を作成できます。ただし、私が望んでいるのは、エッジが2つだけ丸められた長方形です。これは可能ですか?

私は本質的に、丸みを帯びたエッジを持つバブルのように見える ListView を一緒にハッキングしています。2 つの上端が丸められたヘッダーと、2 つの下端が丸められたフッターを追加しようとしています。

4

7 に答える 7

47
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<corners 
android:bottomRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp"/>
</shape>

このコードは、Androidバージョン2.2以降で機能しています。ドキュメントを参照すると、コードは次のようになります。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<corners 
android:radius="2dp"
android:bottomRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp"/>
</shape>
于 2011-01-25T20:13:52.463 に答える
20

これは役立つかもしれません。

<?xml version="1.0" encoding="utf-8"?>
<!--  res/drawable/rounded_edittext.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
 <solid android:color="#FFFFFF"/>
    <corners
     android:bottomRightRadius="0dp"
     android:bottomLeftRadius="0dp"
  android:topLeftRadius="15dp"
  android:topRightRadius="15dp"/>
</shape>
于 2010-12-30T02:20:22.613 に答える
19

android:radius属性をandroid:topRightRadiusandに変更しましたandroid:topLeftRadius

于 2010-10-14T19:23:54.813 に答える
2

(あなたの質問を理解する上で)最善の方法は、9patch画像を作成して背景として使用することだと思います-必要に応じてストレッチするように定義し、XMLレベルで設定してコード作業を節約できます

于 2010-10-14T17:26:21.347 に答える
1
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<corners 
android:bottomRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp"/>
</shape>

上記のコードを使用してください

于 2010-12-30T02:23:39.083 に答える
0

角丸長方形を描画してから、角丸長方形の角の半径と同じサイズの 2 つの追加の長方形を描画して、丸めたくない角に配置します。

たとえば、半径が 15 ピクセルの角丸長方形と、15x15 ピクセルの 2 つの通常の長方形を、角を丸くしてはならない角丸長方形の角に配置します。

編集: 質問を読み直して、リストビューの上部と下部に単純な 9 パッチ画像を作成する方がよい場合があります。それらは、ピクセル化せずに任意のサイズに引き伸ばされます。ただし、それには事前に画像を作成する必要があり、長方形の形状で何かを行うと、後でコードで変更するのが簡単になります. ただし、9 パッチの方法はそれほどハックではありません。

于 2010-10-14T17:07:46.673 に答える
-2

角の丸い長方形を描き、次に同じ色の角の丸い長方形の上に通常の長方形を描きます。

于 2010-10-14T16:27:07.123 に答える