問題タブ [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.
android - SwipeRefreshLayout wrap_content が Dialogfragment の ListView で機能しない
のwrap_contentにSwipeRefreshLayout
子ListView
を含むものを設定しようとしています。DialogFragment
ListViewにitem が 1 つしかない場合でも、ダイアログは常にウィンドウの高さを埋めているため、実際にDialogをその子の高さでラップするようにします。
レイアウト :
結果 :
ListView項目に応じてDialogFragmentウィンドウの高さを調整する必要があります。常にウィンドウの高さを埋める必要はありません。
SwipeRefreshLayout
または のいずれかを作成してListView
、コンテンツ (項目) をラップします。
私はそれを行うために多くの方法を試しましたが、何もうまくいきませんでした。
どうすればこれを達成できますか?
アップデート :
自体は、ウィンドウの高さSwipeRefreshLayout
全体を埋め、無視しています。wrap_content
私は交換ListView
しRecyclerView
、RecyclerView
コンテンツの高さをラッピングしています。これは良いことです。しかし、依然としてDialogFragmentがすべてのWindowをカバーするように高さを埋めSwipeRefreshLayout
ています。
ダイアログの高さを次のように設定していますwrap_content
:
ここに list_item.xml があります:
更新 2:
それを使用RecyclerView
してラップするとLinearLayout
、wrap_contentが機能します。
しかし、まだSwipeRefreshLayout
高さを埋めています。
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"/>
では必須)