0

解決策:私のエミュレーターとEclipseレイアウトエディターです。実際の電話では問題なく動作します:(

質問:

角の android:topLeftRadius は、topRight、bottomRight、および bottomLeft をオーバーライドしています。

したがって、右側を丸くしたいのですが、左側を四角にする必要がありますが、両側は四角になっています。

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

<solid android:color="#F000" />

<stroke
    android:width="1px"
    android:color="#BB000000" />

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

<corners
    android:bottomLeftRadius="0dp"
    android:bottomRightRadius="10dp"
    android:topLeftRadius="0dp"
    android:topRightRadius="10dp" />

<gradient
    android:angle="90"
    android:centerColor="#00004C"
    android:endColor="#000099"
    android:startColor="#000000"
    android:type="linear" />

</shape>

ボタンのxmlで呼び出しているだけです。

android:background="@drawable/button_layout"

4

2 に答える 2

0

<shape>属性の前後にが必要であることを忘れています。このコードは私のために働きます:

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

  <stroke
     android:width="1px"
     android:color="#BB000000" />

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

  <corners
     android:bottomLeftRadius="0dp"
     android:bottomRightRadius="10dp"
     android:topLeftRadius="0dp"
     android:topRightRadius="10dp" />

  <gradient
     android:angle="90"
     android:centerColor="#00004C"
     android:endColor="#000099"
     android:startColor="#000000"
    android:type="linear" />

</shape>
于 2013-09-18T14:50:58.570 に答える
0

これは、3.0 より前の Android バージョンのバグに関連している可能性があります ( https://code.google.com/p/android/issues/detail?id=9161を参照) 。

APIバージョンごとに個別の描画可能フォルダーを用意することで解決できます。

コーナー半径 Android で何かがおかしいも参照してください

于 2013-09-18T15:13:53.713 に答える