問題タブ [android-viewgroup]
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 - カスタム ViewGroup は ListView を拡張します - android.view.InflateException: バイナリ XML ファイル
ListView を拡張するカスタム ViewGroup を Android で作成しようとしています。
ViewGroup クラスを以下に示します。
}
side_bar.xml レイアウト ファイルは
次のように、別のアクティビティ レイアウト xml ファイルでこのカスタム ViewGroup を使用しています。
最後に、アクティビティにレイアウトを使用しています。同じものに対応するコードを以下に示します。
ただし、これらのコードを使用すると、android.view.InflateException: Binary XML file error が発生します。
編集:完全なログ
android - iOS サブビューのような Android サブビューを作成する
私はプログラムで(XMLファイルを使用せずに)Androidでカスタムサブビューを作成しようとしています(これは私がiOSで呼んでいるものです)。これは基本的にいくつかの基本的なビュー(ラベル、ボタン、テキストフィールドなど)を再利用可能なサブビューにまとめたものですクラスを作成して、自分の内部UIViewControllers
またはActivity
Android で使用できるようにしました。
Android の正しい用語がわかりません。何百万もの異なる用語があるようです。
Custom View、ViewGroups、Layouts、Widgets、Components など、お好きな名前を付けてください。
iOS では、これは次のように単純に行われます。
CustomView.h
CustomView.m
これで、選択した任意の ViewController (Android Activity
) でこのカスタム ビューを再利用できます。
Androidでそのようなことをどのように達成しますか?
私は周りを見回しており、Androidで収集したものから、サブビューを追加するために、それらを次の場所に追加しますLayouts
:
それは私が拡張する必要があるということですRelativeLayout
かViewGroup
?
このページを見る: http://developer.android.com/reference/android/view/ViewGroup.html
カスタム ビューをレイアウトするには、次のような非常に複雑なロジックを記述する必要があるようです。
私がやろうとしているのは、上記の iOS の例のようなカスタム ビューで複数の基本的な Android ラベル、ビュー、ボタンを使用することだけですが、Android ではなぜ難しいのでしょうか?
私はこのような単純なものを望んでいました:
申し訳ありませんが、基本的な Android アプリケーションの学習と構築に真摯に取り組んでおり、Android のやり方を否定するつもりはありません。
アクティビティ内にサブビューを追加してレイアウトする方法を知っており、過去 2 日間そうしていますが、カスタム ビュー/ビュー グループ/レイアウト内ではそうしていません。Android アプリのアクティビティごとにまったく同じサブビューを作成することはしたくありません。これは、適切なコーディング プラクティスに反するだけです。:D
ここでは、iOS と Android の両方の開発を行った他の人からのちょっとしたガイダンスが必要です。
編集
私が探しているのは複合コントロールと呼ばれているようです: http://developer.android.com/guide/topics/ui/custom-components.html
私は掘り続けて、うまくいけば私が求めている結果を達成します:D
このインフレータ事業を解決する必要があります。
java - TextView に必要なテキストが表示されない
私MainActivity
のクラスには、そのチェックが何かが真である場合、それは aActivity
のテキストをTextView
私が望むものに設定する新しいものを開始します。
MainActivity
:
それから new に行きActivity
、 の値をチェックする必要がありますcaseA
。
WorkTimerNotification
:
問題: テキストが変更されません。また、mainactivity に次のような if ステートメントが他にもたくさんあるとしましょう。
チェックはどのように行うのですか?さらに重要なのは、この caseA チェックを機能させるにはどうすればよいかということです。
android - View Group Android の Clicklistener
ViewGroup を使用してリストビューにフッターを表示する Android アプリケーションに取り組んでいます。そのビュー グループのリスナー イベントを作成して、ユーザーがそのフッターを押すことができるようにします。そのフッターとビュー グループを作成するための私のコードを、xml と共に以下に示します。
フッターの XML:
android - アニメーションは Android 4.3 以下で ViewGroup 境界にクリップされますか?
ViewGroup
メソッドでいくつかのアニメーションを描画するカスタムに取り組んでいdispatchDraw()
ます。
Google検索でこれに出くわしました: https://groups.google.com/forum/#!topic/android-developers/dZ0Yxjz3v7o
そしてclipChildren="false"
、カスタムの親ビューと祖父母ビューの両方に XML を設定しましたViewGroup
。ただし、これにより、Android 4.3 以降でのアニメーション描画のクリッピングが修正されました。Android 4.0 - 4.3 では、ビュー アニメーションがその境界にクリップされます。
どんな助けでも大歓迎です。
android - Android FrameLayout の子の負のマージンの奇数効果
UI でフィードバックを表示するために使用するカスタムを作成View
しました (通常は、実行中のアクションに応答して)。がFeedbackView.showText
呼び出されると、View
in を 2 秒間アニメートしてから、アニメートします。これは を使用して行われtranslationY
ます。
高さよりも大きい負のマージンを適用すると、最初FeedbackView.showText
に呼び出されたときに正しくアニメーション化されません。表示されるだけです (または、まったく表示されない場合もあります)。FeedbackView.showText
正しいアニメーションを引き起こすための後続の呼び出し。
以下activity_main.xml
でFeedbackView
は、 のマージン top があり-36dp
、これはその高さよりも大きくなっています (ネゲートされていない場合)。マージントップを変更すると、最初の呼び出し-35dp
でも正しくアニメーション化されます。FeedbackView.showText
なぜこのようなことが起こるのか誰か知っていますか?
Romain Guy は、 と で負のマージンを使用しても問題ないLinearLayout
とRelativeLayout
述べています。私の唯一の推測は、彼らがFrameLayout
s に問題があるということです。
フィードバックView.java
MainActivity.java
activity_main.xml