2

カスタム Android「スタイル」xml を作成しようとしています。そして、私が目にする他のすべての人はintを使用しているように見えますが、コンパイルさえしません:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style  name="DialogStyle"
            parent="android:style/Theme.Dialog"
            >
        <item name="android:background">@color/ReliantCyan</item>
        <item name="android:radius">6</item>
        <item name="android:textColor">@color/White</item>
    </style>
</resources>

私を取得します:

 .../dialogStyle.xml:7: error: Error: Integer types not allowed (at 'android:radius' with value '6').

私も試してみ6pdまし6pxたが、文字列が許可されていないと表示されます。ここで何が間違っていますか?

(受け入れられた回答は、android 2.2 と互換性がある必要があります。)


私も試しました:

<dimen name="dRadius">10pd</dimen>

その後

<item name="android:radius">@dimen/dRadius</item>

しかし、私は非常によく似たエラーを受け取ります:

 ... error: Error: String types not allowed (at 'dRadius' with value '10pd').
4

2 に答える 2

3

この振る舞いを正確に説明することはできません。指定<item name="android:radius">6dp</item>するだけで十分です。

styleただし、これを回避するには、ディメンション リソースを (タグの外側にある限り、同じファイル内でも) 追加し、@dimen.

このようなもの:

<resources>
    <dimen name="testradius">6dp</dimen>
    <style ...>
        ...
        <item name="android:radius">@dimen/testradius</item>
        ...
    </style>
</resources>

またはまたはそのバリアントではなく、 6dp(6pxも機能するはずです)として指定してください。66pd

于 2012-10-13T05:23:27.483 に答える
1

私はこれについて間違っているかもしれませんが、あなたの宣言は

Android:radius="6dp"

于 2012-10-13T04:34:22.887 に答える