2

これは簡単な質問であることはわかっているので、誰にも迷惑をかけないことを願っています.

Viewの XML および .java ファイルからアクセスできる定数 float 値をプロジェクトに含めるにはどうすればよいですか?

Viewのリソースファイルに float 値を次のように設定しようとしました:

<attr name="cornerRadius" format="float">15.0dp</attr>

そうあるべきだと思いますが、直感でやっただけです。この件について何をグーグルで検索するか、私は本当に苦労しています。

今、Javaでアクセスするために、私はこれを試しました:

float myFloat = getContext().obtainStyledAttributes(attrs, R.styleable.MyView).getFloat(R.styleable.MyView_cornerRadius, 0.0f);

正しい値を取得していないため、これは私を失望させていますが、関数で渡す値です。この関数に float 値を渡すのはなぜですか? 別のオプションがあるはずです。

さて、私にとって最大の問題はXMLでアクセスすることです..私はこれを試しました:

<corners android:radius="@attrs_my_view/cornerRadius"/>

私もこれを試しました:

<corners android:radius="@float/cornerRadius"/>

しかし、役に立たない。

たぶん、これはすべて完全に間違っていますが、これが何と呼ばれているのかわからないため、Googleでこれを検索する方法がわかりません。意味に基づいて辞書で単語を調べなければならないようなものです。良い時期ではありません。

4

1 に答える 1

0

定数を含む XML ファイルを作成できます。これは、dimens.xml ファイルに標準で格納されているディメンションのように聞こえます。これを res/values フォルダーに配置します。

そのため、ファイル (dimens.xml という名前) があり、次の内容が含まれている可能性があります。

<resources>
    <dimen name="cornerRadius">15dp</dimen>

</resources>

次に、通常の R.class (つまり、R.dimen.cornerRadius) を使用して参照できます。これは、XML または Java から参照できます。

于 2013-01-10T17:21:16.633 に答える