問題タブ [android-wrap-content]

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.

0 投票する
1 に答える
261 参照

android - SwipeRefreshLayout wrap_content が Dialogfragment の ListView で機能しない

のwrap_contentSwipeRefreshLayoutListViewを含むものを設定しようとしています。DialogFragment

ListViewにitem が 1 つしかない場合でも、ダイアログは常にウィンドウの高さを埋めているため、実際にDialogをその子の高さでラップするようにします。

レイアウト :

結果 :

ここに画像の説明を入力

ListView項目に応じてDialogFragmentウィンドウの高さを調整する必要があります。常にウィンドウの高さを埋める必要はありません。

SwipeRefreshLayoutまたは のいずれかを作成してListView、コンテンツ (項目) をラップします。

私はそれを行うために多くの方法を試しましたが、何もうまくいきませんでした。

どうすればこれを達成できますか?

アップデート :

自体は、ウィンドウの高さSwipeRefreshLayout全体を埋め、無視しています。wrap_content

私は交換ListViewRecyclerViewRecyclerViewコンテンツの高さをラッピングしています。これは良いことです。しかし、依然としてDialogFragmentがすべてのWindowをカバーするように高さを埋めSwipeRefreshLayoutています。

ダイアログの高さを次のように設定していますwrap_content:

ここに list_item.xml があります:

更新 2:

それを使用RecyclerViewしてラップするとLinearLayoutwrap_contentが機能します。

しかし、まだSwipeRefreshLayout高さを埋めています。

ここに画像の説明を入力

0 投票する
2 に答える
133 参照

android - オーバーレイに wrap_content を含む TextView がコンテンツの幅全体に拡張されない

私のアプリケーションでは、テキストのサイズとコンテンツが動的で、タッチを使用して移動できる TextView のオーバーレイがあります。目標は、オーバーレイをテキストと同じサイズにすることです。オーバーレイに WRAP_CONTENT を使用すると、テキストを含む LinearLayout がテキストの全幅に拡張されません。

この例では、Activity のコンテンツ ビューとオーバーレイとして同じレイアウトを読み込みます。MATCH_PARENT を使用すると、TextView 全体をオーバーレイに表示できますが、全幅に触れることができるため、オーバーレイをタッチ イベントに使用できなくなります。LinearLayout がなければ、幅いっぱいには拡張されません。この最大幅より小さい幅の場合、wrap_content は期待どおりに機能し、高さの場合、wrap_content は、テキストにさらに行を追加するときに、デバイスの高さ全体に対して期待どおりに機能します。

TextView または LinearLayout をテキストよりも広くせずに、TextView をテキストの全幅に拡張するにはどうすればよいですか?

例は次のようになります。 デモコードの結果

MainActivity.kt:

activity_main.xml

(AndroidManifest.xml<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>では必須)