問題タブ [android-layout-weight]
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.
java - layout_weight を使用して LinearLayout の高さをピクセル単位で取得する方法
これは私の最初の投稿です。私はAndroidアプリ用にJavaでコーディングすることを学んでいます。定義済みのlayout_weight(将来いつでも変更したい)と高さと幅をMATCH_PARENTに設定したLinearLayout「変数名:ll」を使用しています。この LinearLayout の高さをピクセル単位で取得したい。これを Java (ll.addView(variableForAnObject);) を使用して入力します。ll.getLayoutParams().height; を使用して高さを取得しようとしています。しかし、私は-1を取得しています。これは MATCH_PARENT の定数だと思うからです。高さを 0dp に設定すると、ll が非表示になり、高さが 0 になります。
高さを出す方法があれば教えてください。DisplayMetrics を使用して画面の高さを取得し、(少なくとも私にとっては) ほぼ不可能な計算を行うことでこれを行うことができると思いますが、これは複雑すぎます。
android - android : layout_weight が向きの変更時に正しいレイアウトから値を選択しない
Fragment と FrameLayout を含む LinearLayout があります。FrameLayout が画面の大部分を占有する必要があるのに対し、Fragment は画面の小さな部分のみを占有するようにしたいので、それらに layout_weight を使用したいと考えています。高さではなく、幅の部分だけにlayout_weightを適用したいです。また、タブレットの向きが変わると、layout_weight も変化するようにします。例えば。縦向きモードでは、フラグメントが画面スペースの 3/10 を占有し、FrameLayout が 7/10 を占めるようにしたいのに対し、ランドスケープ モードでは、フラグメントが画面スペースの 2/10 を占有し、FrameLayout が 8 を占有するようにします。画面スペースの 10 分の 1。
横向きモードと縦向きモードの 2 つの別々のレイアウトがありますが、機能していません。ここで何が間違いなのかわかりません:-(
レイアウト大地\frame_main_activity.xml
と
レイアウト大ポート\frame_main_activity.xml
問題は、両方の向きの layout_weight のいずれかを選択し、向きの変更時に layout_weight を更新しないことです。たとえば、上記の場合、横向きモードと縦向きモードの両方で 2,8 の layout_weight のみが選択され、向きの変更に基づいて更新されません。
ここで何が問題なのかわかりません。さまざまなチュートリアルを確認し、さまざまなフォーラムで多くのことを試しましたが、問題を解決するものは見つかりませんでした。
android - タブレットでトグル ボタンがうまく表示されない
リストで 2 つのボタンを使用しています。1つはaToggleButton
で、もう1つはレギュラーですImageButton
XMLで設定した方法は次のとおりです。
ボタンを切り替えるロジックは、リスト アダプターにあります。
質問/問題
通常のサイズの画面ではすべて正常に動作します。ただし、これをタブレットでテストすると、ToggleButton
は に比べてサイズが非常に大きくなりImageButton
ます。すべての res フォルダーの画像サイズを確認しました。これは私が持っているものです:
タブレットだとこんな感じ
普通のスマホだとこんな感じ
32dp
私も試してみましwrap_content
たが、それも役に立ちませんでした。