問題タブ [declare-styleable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Androidでスタイリング可能な属性を宣言する
declare-styleable
コンポーネントのカスタムスタイルを宣言するためのタグに関する貴重なドキュメントがほとんどありません。タグの属性に有効な値のリストを見つけました。それはそれに関しては素晴らしいことですが、それらの値のいくつかを使用する方法を説明していません。attr.xml (標準属性のAndroidソース)を閲覧すると、次のようなことができることがわかりました。format
attr
format
属性は明らかに値の組み合わせに設定できます。おそらく、このformat
属性は、パーサーが実際のスタイル値を解釈するのに役立ちます。それから私はattr.xmlでこれを発見しました:
これらは両方とも、示されたスタイルに許可された値のセットを宣言しているようです。
だから私は2つの質問があります:
enum
値のセットの1つをとることができるスタイル属性と値のセットをとることができるスタイル属性の違いは何flag
ですか?declare-styleable
(Androidソースコードをリバースエンジニアリングする以外に)どのように機能するかについてのより良いドキュメントを知っている人はいますか?
android - Android ライブラリ プロジェクトでは、declare-styleable を使用しています -- コンパイル方法は?
values/attrs.xml でいくつかの属性を定義したカスタム設定コントロールがあります。会話の焦点を絞るために、values/attrs.xml にある属性の例を次に示します。
属性を使用するには、使用したい場所で xmlns タグを使用します。これは次のようになります。
ここに問題があります。xmlns 定義は LIBRARY のパッケージ名を参照しており、このリソースは LIBRARY プロジェクトで正常にコンパイルされます。ただし、Library プロジェクトを含む Android プロジェクトのパッケージ名は異なり、Android はすべてのリソースをマージしようとします。この xmlns 定義に到達すると、含まれる Android プロジェクトでパッケージ名が異なるため、行き詰まります。
Android プロジェクトを含めてもまだ有効なライブラリ プロジェクトで xmlns 参照を使用するためのアイデアはありますか?
宣言スタイル可能オブジェクトは、Android チームがライブラリを検討したときの単なる見落としでしたか?
android - xmlでカスタムAndroidビュークラスを使用すると、ADT for Eclipseで属性ヒントが失われるのは正常ですか?
android.widget.RelativeLayoutを拡張するカスタムクラスMyViewを作成するとします。次に、MyViewを使用するxmlファイルを作成します
xmlファイルを書いているときに、RelativeLayoutからの継承のために、Eclipseに期待するコードヒントや補完を取得できないことに気付きました。これは正常ですか?スタイラブルを作成して、Eclipseがドットを接続するのに役立つかどうかを確認しました。親属性を、SDKのattrs.xml(以下のコード)にあるRelativeLayoutスタイル可能に設定しました。これは何の効果もありませんでした。EclipseはSDKにあるもの以外のスタイラブルを認識していないようです。これは正しいです?
どうもありがとう!
android - Android カスタム レイアウト属性「参照属性」の形式は?
カスタム ビュー (ビューグループを拡張する) があり、 attrs.xmlで定義されたいくつかのカスタム属性を指定しました....
うまくピックアップできる整数ですが、最後のもの - rowlayout
- 必要に応じて膨らませる追加のレイアウト ファイルを参照するために使用したいです。しかし、メイン レイアウト ファイルで rowlayout 属性を表現する正しい方法が見つかりません。私が試してみました:
しかし、これは実行時に失敗します:
E/AndroidRuntime(22092): 原因: java.lang.NumberFormatException: 「res/layout/sensorvaluesdata.xml」を整数として解析できません
と
失敗する
E/AndroidRuntime(22341): 原因: java.lang.NumberFormatException: '?2130903043' を整数として解析できません
興味深いのは、リソース ID がそこに貼り付けられているように見えますが?
、先頭にも a が貼り付けられているようです。
私のR.javaファイルには、sensorvaluesdata
.
これを行う正しい方法は何ですか?
(情報をJavaソースにハードコーディングでき、正常に動作します....
android - この例の宣言可能な XML タグと、その使用の背後にある理論について説明してもらえますか?
私はBeginning Android 4 Developmentを読んでいて、第5章ではGalleryとImageVievsについて話し、その目的を説明せずにdeclare-styleable XMLタグを紹介しています..リファレンスでもいくつかの情報を見つけようとしましたが、運が悪い..例えば次のものがあります。
res/values/attrs.xml
たとえば .java
コードを数回読んだことがありますが、このスタイル可能なGallery1をname属性のみを持つ単一のattr子で定義する目的がよくわかりません..助けてもらえますか? このgalleryItemBackgroundはシステムによって提供されるものですか、それとも私たちが定義するものですか? このコードで何をしているのでしょうか?
助けてくれてありがとう!
android - スタイルとテーマを使用してカスタム属性のデフォルト値を作成する
View
xml レイアウトで宣言され、ビューのコンストラクター中に読み込まれるカスタムのスタイル可能な属性を作成したカスタム がいくつかあります。私の質問は、xml でレイアウトを定義するときにすべてのカスタム属性に明示的な値を指定しない場合、スタイルとテーマを使用して、View
コンストラクターに渡されるデフォルト値を設定するにはどうすればよいですか?
例えば:
attrs.xml:
layout.xml (android:
簡単にするためにタグを削除):
android - Eclipseはもはやカスタム属性を認識していませんか?(アンドロイド)
昨日、私のプロジェクトはうまく構築され、実行されていました。今日、Eclipseは私のカスタム属性を認識しなくなったと判断しました。これを引き起こすような変更をしたことは考えられません。カスタム属性でいっぱいの約2ダースのXMLレイアウトがありますが、それらのいずれも認識しません。レイアウトの1つ(res / layout)は次のとおりです。
これが私の属性ファイル(res / values / attrs.xml)です:
XMLファイルにエラーがあると見なされているため、Rが生成されていないため、IntPref.javaにも問題があります。私は過去8時間、これで髪を引き裂いてきましたが、間違ったことを何も見ることができません。助言がありますか?
android - 宣言スタイル可能のポイントは何ですか?
スタイリング可能な属性を使用して新しいビューを作成しているとします。私はそれらをこのように宣言します(これはドキュメントがそれを行うように言っている方法です:
ただし、すべての属性が明らかに同じ名前空間にあるため、これは機能せず、エラーが発生しますError: Attribute "direction" has already been defined
。
したがって、明らかに重複している属性を次の<declare-styleable>
ように外部に移動する必要があります。
しかし、これには2つの疑問があります。
- これが機能する場合、正確には何のポイント
<declare-styleable>
ですか? - 異なるビューで属性の動作を変えたい場合はどうすればよいですか?たとえば、
BannerView
の方向がup
またはのみである場合down
。