タグ付けされた質問 「android-view」

Androidのビューに関する質問。ビューは、AndroidレイアウトXMLまたはJavaコードで定義できます。このタグを使用した質問には、一般的なビューの実践またはアドバイスが含まれます。特定のビューについては、このタグの情報を参照してください。レイアウトに関する質問については、[android-layout]タグを使用してください。

10
Androidでビューを動的に追加および削除しますか?
どのように私は、次のような見解の追加と削除でくださいTextViewあなたは、フィールドの右側にある小さなアイコンを押すと、それはで構成され、フィールドを追加または削除どこAndroidの連絡先が画面オリジナルの株式のようにAndroidアプリからSをTextViewしてeditTextView(何からを私は見えます)。 これを達成する方法の例はありますか?

11
実行時のAndroidビューのサイズの決定
アクティビティが作成された後、Androidアプリのビューにアニメーションを適用しようとしています。これを行うには、ビューの現在のサイズを決定し、現在のサイズから新しいサイズにスケーリングするアニメーションを設定する必要があります。ユーザーからの入力に応じてビューのサイズが異なるため、この部分は実行時に実行する必要があります。私のレイアウトはXMLで定義されています。 これは簡単な仕事のようで、明らかに私の問題を解決したものはありませんが、これに関して多くのSOの質問があります。おそらく私は明らかな何かを見逃しています。私は自分の見解のハンドルを手に入れます: ImageView myView = (ImageView) getWindow().findViewById(R.id.MyViewID); これは罰金を動作しますが、呼び出し時にgetWidth()、getHeight()、getMeasuredWidth()、getLayoutParams().width、など、彼らはすべてのリターン0は、私はまた、呼び出しを手動しようとしたmeasure()の呼び出しに続いてビューにgetMeasuredWidth()、それは効果がありません。 私はこれらのメソッドを呼び出して、私のアクティビティのonCreate()とでデバッガのオブジェクトを検査してみましたonPostCreate()。実行時にこのビューの正確な寸法を把握するにはどうすればよいですか?

8
プログラムで角を丸めてランダムな背景色を設定する方法
ビューの角を丸くし、実行時にコンテンツに基づいてビューの色を変更したいのですが。 TextView v = new TextView(context); v.setText(tagsList.get(i)); if(i%2 == 0){ v.setBackgroundColor(Color.RED); }else{ v.setBackgroundColor(Color.BLUE); } v.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); v.setPadding(twoDP, twoDP, twoDP, twoDP); v.setBackgroundResource(R.drawable.tags_rounded_corners); ドローアブルを設定して色が重なることを望んでいましたが、重複しません。私が2番目に実行するものは、結果として得られる背景です。 実行時まで背景色が決定されないことを念頭に置いて、このビューをプログラムで作成する方法はありますか? 編集:私はテストのために赤と青の間で交換しているだけです。後でユーザーが色を選択できるようになります。 編集: tags_rounded_corners.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:bottomRightRadius="2dp" android:bottomLeftRadius="2dp" android:topLeftRadius="2dp" android:topRightRadius="2dp"/> </shape>


5
ConstraintLayout:プログラムで制約を変更する
のサポートが必要ConstraintSetです。私の目標はコードでビューの制約を変更することですが、これを正しく行う方法がわかりません。 4 TextView秒と1つがありImageViewます。のImageViewいずれかに制約を設定する必要がありTextViewます。 check_answer4 = (TextView) findViewById(R.id.check_answer4); check_answer1 = (TextView) findViewById(R.id.check_answer1); check_answer2 = (TextView) findViewById(R.id.check_answer2); check_answer3 = (TextView) findViewById(R.id.check_answer3); correct_answer_icon = (ImageView) findViewById(R.id.correct_answer_icon); 第一の答えが正しければ、私は一連の制約のために必要ImageViewに app:layout_constraintRight_toRightOf="@+id/check_answer1" app:layout_constraintTop_toTopOf="@+id/check_answer1" 第二答えが正しければ、私は一連の制約のために必要ImageViewに app:layout_constraintRight_toRightOf="@+id/check_answer2" app:layout_constraintTop_toTopOf="@+id/check_answer2" 等々。

6
ビューではなくAndroidでフラグメントを使用する利点は何ですか?
のために開発するとき Androidに、ターゲット(または最小)SDKを4(API 1.6)に設定し、Android互換パッケージ(v4)を追加して、のサポートを追加できFragmentsます。昨日私はこれを行いFragments、カスタムクラスからのデータを視覚化するために正常に実装しました。 私の質問はこれです:Fragments単にカスタムオブジェクトからビューを取得してAPI 1.5をサポートするのではなく、を使用する利点は何ですか? たとえば、クラスFoo.javaがあるとします。 public class Foo extends Fragment { /** Title of the Foo object*/ private String title; /** A description of Foo */ private String message; /** Create a new Foo * @param title * @param message */ public Foo(String title, String message) { this.title = …

8
独自のカスタムアダプターを作成する場合、getView()メソッドはどのように機能しますか?
私の質問は: LayoutInflaterの正確な機能は何ですか? 私が読んだすべての記事で、convertviewがnullであるかどうかが最初に確認されるのはなぜですか?nullの場合はどういう意味ですか、そうでない場合はどういう意味ですか? このメソッドが受け入れる親パラメーターは何ですか?

10
Android View.getDrawingCacheがnullを返し、nullのみ
誰か私に理由を説明してみませんか public void addView(View child) { child.setDrawingCacheEnabled(true); child.setWillNotCacheDrawing(false); child.setWillNotDraw(false); child.buildDrawingCache(); if(child.getDrawingCache() == null) { //TODO Make this work! Log.w("View", "View child's drawing cache is null"); } setImageBitmap(child.getDrawingCache()); //TODO MAKE THIS WORK!!! } 常に描画キャッシュがnullであることをログに記録し、ビットマップをnullに設定しますか? キャッシュが設定される前に実際にビューを描画する必要がありますか? ありがとう!

4
ビューのマージンを取得
アクティビティからビューのマージン値を取得するにはどうすればよいですか?ビューはどのタイプでもかまいません。 少し検索した後、ビューのパディングを取得する方法を見つけましたが、Marginには何も見つかりませんでした。誰か助けてもらえますか? 私はこのようなものを試しました、 ViewGroup.LayoutParams vlp = view.getLayoutParams(); int marginBottom = ((LinearLayout.LayoutParams) vlp).bottomMargin; これは機能しますが、上記のコードではビューをであると想定していますLinearLayout。しかしmargin、ビューの種類がわからない場合でも、属性を取得する必要があります。

19
角の丸いビューを作成するにはどうすればよいですか?
丸みを帯びたエッジでアンドロイドでビューを作成しようとしています。これまでに見つけた解決策は、角が丸い形状を定義し、そのビューの背景として使用することです。 これが私がしたことです、以下のようにドローアブルを定義します: <padding android:top="2dp" android:bottom="2dp"/> <corners android:bottomRightRadius="20dp" android:bottomLeftRadius="20dp" android:topLeftRadius="20dp" android:topRightRadius="20dp"/> 今、私はこれを私のレイアウトの背景として以下のように使用しました: <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginBottom="10dp" android:clipChildren="true" android:background="@drawable/rounded_corner"> これは完璧に機能し、ビューのエッジが丸くなっていることがわかります。 しかし、私のレイアウトには、ImageViewやといった他の多くの子ビューがありMapViewます。私は配置するとImageView上記のレイアウトの内側に、画像の四隅ではなく、それがフル表示され、トリミング/クリップされていません。 ここで説明されているように機能させるために、他の回避策を見てきました。 しかし、ビューに丸みを帯びたコーナーを設定する方法はありますか?そのすべての子ビューは、丸みを帯びたコーナーを持つメインビュー内に含まれていますか?

6
sendUserActionEvent()がnullです
ここには本当の危険があります。スピナーをクリックしたり、メニュー項目を開いたり、ロングクリックでコンテキストメニューを開いたりすると、同じLogcatメッセージが表示されます。 08-02 21:20:57.264: E/ViewRootImpl(31835): sendUserActionEvent() mView == null タグはViewRootImpl、メッセージはsendUserActionEvent() mView == nullです。Webでこれについて役立つ情報を見つけることができませんでした。Androidソースを検索したところ、への参照がいくつか見つかりましたがmView、このログメッセージが出力されているファイルが見つかりませんでした。参考までに、4.2.2を実行しているSamsung Galaxy S4、またはAPI 17を使用しています。Android4.3を実行しているNexus 7でデバッグする場合、同じメッセージは表示されません。何か案は?これはSamsung固有の問題ですか?

13
AndroidSeekBarの最小値
SeekBarの最小値を定義する方法は?これはXMLレイアウトで行われますか、それともプログラムで定義する必要がありますか? 基本的に、最小値を0から0.2に変更する必要があります

1
Androidの回転テキスト:dynamiclayout.draw(canvas)を使用していますが、パスに沿ってアニメーション化せず、canvas.drawTextOnPath(dynamiclayout)を使用できません
回転するテキストウィジェットを表示するために、https://github.com/mdg-iitr/RotatingTextの独自バージョンを使用しています。このGitHubにはビデオがあり、アニメーションを見ることができます。アイデアは、単語の行を設定することです。行は行ごとに表示されます。行全体が回転します(その単語も回転します)。後者の回転アニメーションが終了すると、前の行の後に行が表示されます。 私の問題 DynamicLayoutテキストの行を表示するにはaを使用します。注意:行は回転する必要があります。 私の問題は次のとおりです。明らかに、メソッドを使用できませんcanvas.drawTextOnPath(dynamicLayoutObject)。だから私がすることは:dynamicLayoutObjec.draw(canvas);です。しかし、その時のアニメーションはありません。実際、テキスト(それDynamicLayoutを含むテキスト)は回転する必要があります。 期待される結果 DynamicLayout(実際には、そのテキストが)(回転)をアニメ化する必要があります。ローテーションは、このSO質問(https://github.com/mdg-iitr/RotatingText)の冒頭にあるGithubの元のリポジトリの図で確認できます。 私の質問 DynamicLayoutパス(またはテキスト)をパスに沿って回転させる方法がわかりません。 最小限のテスト可能な例 オリジナルのRotatingTextライブラリを約8か月前に変更しました。それを簡素化するために(クラスが少なく、メソッドが少なく、未使用のメソッドがないなど)。実際、私は2つのクラスしか持っていません。 RotatingTextSwitcher、これはXMLウィジェットです そしてRotatable、回転する文字列の配列が含まれています。 RotatingTextSwitcherテストするためのXMLウィジェットを含む.XMLレイアウト A Fragment、以前にmentionnedレイアウトを膨張各回転行の単語を設定し、それらを示します。 これをテストするには、以下に示すフラグメントを示すアクティビティを作成します。次に、上記のその他のソースを使用します。 回転可能なクラス import android.graphics.Path; import android.view.animation.Interpolator; public class Rotatable { private final String[] text; private final int update_duration; private int animation_duration; private Path path_in, path_out; private int currentWordNumber; private Interpolator interpolator; public Rotatable(int update_duration, int …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.