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

レイアウトは、アクティビティ、フラグメント、アプリウィジェットのUIなど、ユーザーインターフェイスの視覚的な構造を定義します。

7
エラー:レンダリングの問題次のクラスが見つかりませんでしたandroid.support.v7.internal.widget.ActionBarOverlayLayout
私はAndroidアプリ開発の初心者です。Android Studio 1.1.0で新しいプロジェクトを作成すると、このエラーが発生します " レンダリングの問題次のクラスが見つかりませんでしたandroid.support.v7.internal.widget.ActionBarOverlayLayout " 今、私はこれについてグーグルで検索しました、そして私はほとんどの人から与えられたおそらく3つの解決策を見つけました。 彼らが言うには: (プレビューウィンドウペインから)apiを22から21に変更するか、 アプリのテーマを「プロジェクトテーマ」から他のテーマに変更します。 プロジェクト構造->依存関係に正しいappcompat-v7ライブラリをインポートしていることを確認して ください。次の手順を参照してください。サポートライブラリ機能のプロジェクト識別子を依存関係セクションに追加します。たとえば、appcompatプロジェクトを含めるには、次の例に示すように、compiles「com.android.support:appcompat-v7:18.0.+」を依存関係セクションに追加します。 dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" } 注:Androidサポートライブラリは最新です(SDK Managerを使用してインストールされています)。 最初の2つの手順に従って、エラーを削除しました。しかし、これらは永続的な解決策ではないように思います。2番目のステップは、一時的な回避策のようです。最初のステップについても疑問があります。エラーを削除するには、APIを22から21に変更します。最後に、アプリがAndroid 5.1.1(API 22)で機能しなくなり、Android 5.0に制限されます。 .1以下のみ(API 21)。私の疑念は有効ですか?3番目のステップについては、この問題の永続的な解決策ですか? PS:タグが一致しないため申し訳ありませんが、サイトの評判のため、正確なタグを追加することはできませんでした

10
カスタムDialogFragmentをFragment上で透明にすることはできません
(画面全体を占める)フラグメント上にダイアログを作成する必要があります。ダイアログは、フラグメントがフラグメントの外側で暗くなった状態でフラ​​グメントの上に配置されるフローティングダイアログである必要があります。 カスタムダイアログの場合、カーブしたエッジを持つlinearLayoutがあります。何をしても、ダイアログにはすべての側面に黒い境界線があります(非常に小さい)。私はそれを透明にし、消えるようにあらゆることを試みました(そのため、ダイアログのすべてが単なる直線レイアウト-曲線ボックスになるように) DialogFragmentの場合、これはonCreateViewに必要なものです @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ LinearLayout layout =(LinearLayout)inflater.inflate(R.layout.custom_dialog, null); LinearLayout item = (LinearLayout)layout.findViewById(R.id.display_item); populateItemData(item, inflater); return layout; } custom_dialogは、android:backgroungが#000000に設定された単なるLinearLayoutです これはカスタムダイアログの私のスタイルです <style name="CustomDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:alwaysDrawnWithCache">false</item> <item name="android:windowContentOverlay">@null</item> </style> (オンラインで見たものから)このスタイルであらゆる種類の組み合わせを試しましたが、迷惑な黒い境界線を取り除くことができません.LinearLayoutの背景を以外の値に設定すると、白または他の色にペイントできます#000000 ... 私はこれに文字通り3〜4時間費やしました。他の誰かが手伝ってくれることを願っています...

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

4
ListAdapterを使用してScrollViewレイアウト内のLinearLayoutを塗りつぶします
私は非常に一般的な問題に直面しています。アクティビティをレイアウトしましたが、この中にいくつかの項目が表示されるはずScrollViewです。それを行うには、通常の方法では、既存のを使用することですListAdapter、Aに接続ListViewし、BOOM、私はアイテムの私のリストを持っていると思います。 しかし、スクロールをめちゃくちゃListViewにするScrollViewので入れ子に入れるべきではありません-Android Lintでさえ不満があります。 だから私の質問です: どうやって接続するのですListAdapterへのLinearLayoutあるいは似たような? このソリューションは多くのアイテムに対してスケーリングされないことを知っていますが、私のリストは非常に短いため(<10アイテム)、ビューの再利用は実際には必要ありません。パフォーマンスに関しては、すべてのビューをに直接配置することで対応できますLinearLayout。 私が思いついた1つの解決策は、既存のアクティビティレイアウトをのheaderViewセクションに配置することですListView。しかし、これはこのメカニズムを悪用するような感じなので、より明確な解決策を探しています。 アイデア? 更新:正しい方向に向けるために、サンプルレイアウトを追加して問題を示します。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/news_detail_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:visibility="visible"> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFF" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingLeft="@dimen/news_detail_layout_side_padding" android:paddingRight="@dimen/news_detail_layout_side_padding" android:paddingTop="@dimen/news_detail_layout_vertical_padding" android:paddingBottom="@dimen/news_detail_layout_vertical_padding" > <TextView android:id="@+id/news_detail_date" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center_horizontal" android:text="LALALA" android:textSize="@dimen/news_detail_date_height" android:textColor="@color/font_black" /> <Gallery android:id="@+id/news_detail_image" android:layout_height="wrap_content" android:layout_width="fill_parent" android:paddingTop="5dip" android:paddingBottom="5dip" /> <TextView …

17
DialogFragmentの幅をFill_Parentにする方法
私はDialogFragmentダイアログを表示するために使用しているAndroidアプリケーションに取り組んでいますが、その幅は非常に小さいです。どのようにしてこの幅fill_parentをそれに合わせることができますか? public class AddNoteDialogFragment extends DialogFragment { public AddNoteDialogFragment() { // Empty constructor required for DialogFragment } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getDialog().setTitle(getString(R.string.app_name)); View view = inflater.inflate(R.layout.fragment_add_note_dialog, container); return view; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); // request a window …

12
EditText imeOptionsをactionNextに設定しても効果がない
かなり複雑な(実際ではない)xmlレイアウトファイルがあります。ビューの1つは、v12つの子を持つLinearLayout(v2)です:EditText()と別のLinearLayout(v3)。次に、子のLinearLayoutにはEditText(v4)とImageView(v5)があります。 EditText v2の場合、私はimeOptionsを持っています android:imeOptions="actionNext" しかし、アプリを実行すると、キーボードreturnがチェックせずnext、に変更したいと思いnextます。この問題を解決するにはどうすればよいですか? また、ユーザーが次にクリックしたときに、フォーカスをEditText v4に移動したいと思います。私はこれをしますか? 本当にいくつかのコードを見る必要がある人のために: <LinearLayout android:id="@+id/do_txt_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/col6" android:orientation="vertical" android:visibility="gone" > <EditText android:id="@+id/gm_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:background="@drawable/coldo_text" android:hint="@string/enter_title" android:maxLines="1" android:imeOptions="actionNext" android:padding="5dp" android:textColor="pigc7" android:textSize="ads2" /> <LinearLayout android:layout_width="match_parent" android:layout_height="100dp" android:orientation="horizontal" > <EditText android:id="@+id/rev_text" android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="center_vertical" android:layout_margin="5dp" android:layout_weight="1" android:background="@drawable/coldo_text" android:hint="@string/enter_msg" android:maxLines="2" android:padding="5dp" android:textColor="pigc7" android:textSize="ads2" /> <ImageView android:layout_width="wrap_content" …




11
別のコントロールにフォーカスを設定せずにフォーカスを削除する方法は?
UIは直感的に使いたいです。各画面は、自然で控えめに、ユーザーをアプリの次のステップに案内する必要があります。それを除いて、私は物事をできるだけ混乱させ、混乱させるよう努めています。 冗談だ :-) 私には3つTableRowのがあり、それぞれに読み取り専用でフォーカスできないEditTextコントロールと、その右側にあるボタンが含まれています。各ボタンは同じアクティビティを開始しますが、引数は異なります。ユーザーがそこで選択を行うと、サブアクティビティが終了EditTextし、ユーザーの選択が適切なものに入力されます。 これは、古典的なカスケード値メカニズムです。各選択により、次の選択で使用可能なオプションが絞り込まれます。したがって、現在の行のEditTextに値が含まれるまで、次の各行の両方のコントロールを無効にします。 次の優先順位で、2つのことのいずれかを行う必要があります。 ボタンがクリックされたら、別のボタンにフォーカスを設定せずに、すぐにフォーカスを削除します アクティビティの開始時に最初のボタンにフォーカスを設定します 問題はサブアクティビティが戻った後に現れます。クリックされたボタンはフォーカスを保持します。 再:上記の#1- removeFocus()メソッド、または類似したものがないようです 再:上記の#2- requestFocus()次の行のボタンにフォーカスを設定するために使用できます。これはサブアクティビティが戻った後に機能しますが、何らかの理由で親アクティビティので機能しませんonCreate()。 どちらの方向にもUIの一貫性が必要です。サブアクティビティが終了した後にボタンにフォーカスがないか、ロジックフロー内の場所に応じて各ボタンがフォーカスを受け取ります(選択前の最初の(そして唯一の)アクティブなボタンを含む)。


17
Androidで左または右へのスワイプを検出するにはどうすればよいですか?
私はEditTextアンドロイドでビューを持っています。これで、左または右へのスワイプを検出したいと思います。以下のコードを使用して、空きスペースにそれを取得することができます。しかし、をスワイプすると、これは機能しませんEditText。それ、どうやったら出来るの?何かおかしいことがあったら教えてください。ありがとうございました。 使用されるコード: switch (touchevent.getAction()) { case MotionEvent.ACTION_DOWN: { oldTouchValue = touchevent.getX(); break; } case MotionEvent.ACTION_UP: { float currentX = touchevent.getX(); if (oldTouchValue < currentX) { // swiped left } if (oldTouchValue > currentX ) { swiped right } break; } }


4
isInEditMode()を使用してエディターのカスタムビューでレイアウトを表示する方法
カスタムビューを持つソフトウェアを編集する必要があります。レイアウトxmlを編集しようとすると、Eclipseから次のように言われます。 カスタムビューでView.isInEditMode()を使用して、Eclipseに表示されるときにコードをスキップします しかし、私はisInEditMode()をどこでどのように使用する必要があるのかわかりませんアプリで 私のxmlファイルは <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ff000000" > <TextView android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="32dip" android:scrollbars="none" android:lines="1" android:freezesText="true" android:textColor="@color/result" /> <EditText android:id="@+id/input" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:textSize="28dip" android:scrollbars="none" android:singleLine="true" android:autoText="false" android:imeOptions="flagNoEnterAction|flagNoExtractUi" /> <ListView android:id="@+id/history" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:cacheColorHint="#ff000000" android:choiceMode="singleChoice" android:scrollbarStyle="outsideInset" android:scrollbars="none" /> <calculator.GraphView android:id="@+id/graph" android:layout_width="fill_parent" android:layout_height="0dip" …

16
Androidでのリストビューの高さの制限
の下にボタンを表示したいListView。問題は、ListView拡張された場合(アイテムが追加された場合...)、ボタンが画面から押し出されることです。 私が試したLinearLayout(で提案されているよう重みを持つの:なぜ何のmaxHeightは、ビューのために存在しない?アンドロイド、私は重みが間違っていましたか、それは単に仕事をしませんでしたどちらか)。 また、を使用するためのヒントをどこかで見つけましたRelativeLayout。次にListView、android:layout_aboveparamを使用してボタンの上に設定します。 これの問題は、後でボタンを配置する方法がわからないことです。私が見つけた例では、の下のビューListViewはを使用して調整されましたがandroid:layout_alignParentBottom、ボタンを画面の下部に固定したくありません。 setHeightメソッドの使用と必要なスペースの計算以外のアイデアはありますか? 編集: 私は多くの有用な答えを得ました。 bigstoneとuser639183のソリューションはほぼ完全に機能しました。ただし、ボタンの下部に余分なパディング/マージンを追加する必要がありました。ボタンが画面の半分まで押し出されるためです(その後停止されます)。 画面下部にボタンを固定したい場合は、相対レイアウトのみでのAdiniaの回答で問題ありません。それは私が意図したものではありませんが、それでも他の人に役立つかもしれません。 AngeloSのソリューションは、私が最後に選択したもので、私が望む効果を生み出しただけです。ただし、LinearLayoutボタンの周囲に2つの小さな変更を加えました。 まず、レイアウトに絶対値を入れたくなかったので、に変更android:layout_height="45px"しましたwrap_content。これも問題なく機能します。 次に、ボタンを水平方向の中央に配置したいので、垂直方向のみでサポートされているためLinearLayout、android:orientation = "horizo​​ntal"を "vertical"に変更しました。 AngeloSはまた、彼の最初の投稿android:layout_weight="0.1"で、LinearLayout周囲のparamがListView効果を持っているかどうかはわからないと述べました。私は試してみましたが実際にあります!なければ、ボタンは再び画面から押し出されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.