問題タブ [scrollview]

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 に答える
1939 参照

android - ScrollViewのAndroid ListViewの置き換え

多くの TextView と EditText がキャンバスに配置された複雑なレイアウト ファイルがあります。ユーザーに対して適切に機能させるには、レイアウトを ScrollView にする必要があります。問題は、2 つのフィールドが実際には、それらに付随するすべてのフォーマットを備えた ListView である必要があることです。これらのリストはどちらも 10 行を超えません。現在、データから長い文字列を作成して表示することで、TextView を使用しています。

問題は、ListView 内でできるように、TextView 内のテキストをフォーマットできないことです。

ScrollView 内に ListView を配置できないため、 TextView を使用してシミュレートする必要があります。ListView の場合と同様に、データを列にフォーマットする必要があります。2 番目の表示フィールドでデータを折り返し、行の条件に基づいて別のフォントにします。

以下のように、TextView のデータを ListView のデータのようにフォーマットする方法はありますか。

誰でもこれを行う方法を教えてもらえますか?

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

iphone - スクロールビューのみを削除するにはどうすればよいですか?

[scrollview removeFromSuperview]を配置すると、scrollviewデリゲート(scrollviewはviewcontrollerのサブビュー)に設定されたviewcontrollerがあります。ビューコントローラとスクロールビューの両方が削除され、空のウィンドウが表示されます。

スクロールビューのみを削除するにはどうすればよいですか?

編集::::

これは私のviewcontroller.hの一部です

これは私のviewcontroller.mの一部です

基本的に、スクロールビューを削除してから再度追加する理由は、デバイスの向きが横向きに変わると、横向きのサブビューが間違った場所(x、y)にあるためです。

しかし、ランドスケープで開始する場合、isvLは適切な場所にあるので、コードが正しいことがわかります。pagingScrollViewのisvLのx、y位置を横向きにねじ込みます!

0 投票する
3 に答える
6063 参照

android - スクロールするには短すぎる場合、スクロールビューはスワイプしません

私は Android アプリ開発の初心者で、Android の SimpleOnGestureListener と ViewFlipper を使用してスワイプ ジェスチャをいじっています。ViewFlipper には 3 つの子があり、それぞれが ScrollView です。アクティビティが読み込まれると、それらはすべて動的に入力され、その後は変更されません。ScrollView は、SimpleOnGestureListeners がアタッチされている場所です。

私が使用しているレイアウトは次のとおりです:
+ViewFlipper ++ ScrollView
(x3、各ページに 1 つ、それぞれ次のものを
含む) ) ++++見る


オンラインのどこにでもある一般的なチュートリアル コードを使用して onFling メソッドを拡張しました。ScrollViews の 1 つにスクロールするのに十分なコンテンツが含まれていない場合を除いて、うまく機能します。

SimpleOnGestureListener のすべてのメソッドをオーバーライドして super を呼び出し、print-to-log を追加することで、問題をタッチ検出に絞り込みました。

スクロールするページをスワイプすると、「in onClick」「in onScroll」「in onFling」などでいっぱいになります。スクロールするには短すぎるページでは、「in onClick」「in onShowPress」「in onLongPress」になります。 」、そしてそれは、短すぎるスクロールビューの子のコンテンツに触れている場合のみです-他の場所に触れた場合、イベントはまったく発生しません.

何が問題なのか、またはスクロールビューの大きさに関係なくスワイプジェスチャを検出する方法についてのアイデアはありますか?

編集: これを Android 2.2 エミュレーターで実行すると、私が使用している Android 2.1u1 DroidX エミュレーターとは対照的に、それがなくなることがわかりました。これは、複数の環境で再現可能です。


これについては、もう少し洞察があります。スクロールビューがフリッパー (または WorkspaceView) 内に含まれている場合、すべてのモーション イベントに対して onInterceptTouchEvent が呼び出されないように見えます。

特に、これとまったく同じ問題を修正するために別のビュー クラスを変更しているときに見つけた動作 (フリッパーに固有のものではありません) は次のとおりです。これは Android 2.1 のみであることに注意してください。

スクロールビューがスクロールするのに十分な長さの場合、ACTION_DOWN モーション イベントは ScrollView によってキャッチされ、後続のすべての ACTION_MOVE イベントはフリッパーの onInterceptTouchEvent を通過し、そこでインターセプトされて適切に処理されます。Android 2.2 では、この動作はスクロールの長さに関係なく発生します。

2.1 に戻る: scrollview がスクロールするのに十分な長さでない場合、ACTION_DOWN モーション イベントはscrollview によってキャッチされ、フリッパーの onTouchEvent に戻ります。同じジェスチャの後続のすべての ACTION_MOVE イベントは、onInterceptTouchEvent 関数をスキップして、onTouchEvent 関数に直接進みます。

私がこれを解決した方法は、ACTION_MOVE イベントの onTouchEvent にあった機能を取り、それを独自のメソッドにリファクタリングすることでした。このようにして、イベントが以前に未処理になったことを検出した場合、onTouchEvent で onInterceptTouchEvent を呼び出し、その後にその機能を呼び出すことができます。

これは WorkspaceView.java からのものです (Android の Workspace.java の変更で、Google コードの andro-views プロジェクトにあり、現在はビュー間の水平方向の「タブ」のようなスクロール)。move イベントを受け取り、スクロールしている場合 (意図的にインターセプトすることを選択した場合にのみ発生します。つまり、インターセプト関数で設定されているため、既にインターセプト関数に行っています)。私たちが望む動きの振る舞い。ここで移動イベントを受け取り、スクロールしていない場合は、onIntercept を介してイベントを送り返し、スクロールするように設定されているかどうかを確認します。その場合は、アクションを実行します。

エレガントではありませんが、機能します。

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

android - 高さを設定せずにScrollViewを定義する

ScrollViewを作成し、固定の高さ(つまり、「250px」)を設定せずに、使用可能なスペースに拡張したいと考えています。

そのため、RelativeLayoutを作成しました。基本的な概要は次のとおりです。

レイアウトの考え方は、タイトルを上に、ボタンを画面の下部近くに、ScrollViewをこれら2つの間に配置することです。

問題は、ScrollViewの定義でandroid_heightを使用する必要があるため、その高さに固定されていることです。

どうすればこれを回避できますか?

ありがとう。

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

android - 異なるViewFlipperビューでScrollViewを再計算しますか?

ViewFlipper をラップする ScrollLView があります。ViewFlipper のコンテンツは同じ高さではないため、2 番目の画面には非常に長いスクロール バーがあり、空白のコンテンツが表示されます。

たとえば、EditText ブロックは非常に長く、スクロール バーがすべてをキャプチャします。LinearLayout に移動すると、スクロールバーは TextView コンテンツをはるかに超えて続きます。ビューの高さを「再計算」するために基本的に必要です。

また、EditText と LinearLayout を独自の ScrollView 内にラップすることはできません。これは、ソフト/仮想キーボードが EditText コンテンツをブロックするためです。

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

android - AndroidでのscrollViewとフッターの問題

私のAndroidアプリケーションでは、ヘッダーとフッターを使用しています。その間に、スクロールビュー内にテーブルがあります。問題は、タグ
を使用してヘッダーと同じようにフッターを追加しても、フッターが表示されないことです。 スクロールビューの高さと幅を指定された長さに設定すると正常に機能しますが、向きを変更しても機能しません。include

スクロールビューの高さを変更せずにフッターを画面の下部に表示する方法を教えてもらえますか?

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

android - Android- Scrollview:ドラッグしてレイアウト位置を変更

10レイアウトのScrollviewを作成します。ドラッグしてレイアウト位置を変更したい。

問題は、私が下/上にドラッグするときです(私が右/左にドラッグするとき、それは完璧に機能します):

1)MotionEvent.ACTION_CANCELが発生します

2)Scrollviewが動いています

1)レイアウトをドラッグするときにScrollviewのスクロールを無効にするにはどうすればよいですか?

2)MotionEvent.ACTION_CANCELを取得せずにレイアウトを維持する方法を知っていますか?

ありがとう

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

android - Android:ScrollViewの全高

レイアウトで使用するカスタムScrollView(拡張android.widget.ScrollView)があります。このスクロールビューのコンテンツの全高を測定したいと思います。getHeight()およびgetMeasuredHeight()は、正しい値を提供しません(数値が大きすぎます)。

背景情報:ユーザーがどれだけスクロールしたかを調べたい。onScrollChangedを使用してX値を取得しますが、パーセンテージを知る必要があるため、スクロールバーの高さの合計が必要になります。

どうもありがとう!エリック

0 投票する
5 に答える
22045 参照

android - AndroidでScrollViewの高さを上げる方法は?

代替テキスト

よう皆、

GridView画像を表示するために内部 を使用していScrollViewます。GridViewには、動的に追加された16個の画像がありますが、ScrollView16個すべての画像が表示されるわけではありません(スクリーンショットを参照)。

ScrollView全体を表示したいのですが、GridViewこれを修正する方法を知っている人はいますか?

皆さんありがとう。

xmlファイル:

0 投票する
4 に答える
4833 参照

iphone - IPhone - フルスクリーンの UIScrollView は正しく起動しますが、ナビゲーション バーの下に再配置されます

私は現在、フォト アプリと同じようにフォト ピッカーを実装しようとしていますが、カスタム イメージ ソースを使用しています。「写真のスクロール」部分については、Apple PhotoScroller のサンプル コードを使用し、それを適応させました。主な違いの 1 つは、ナビゲーション バーを備えたナビゲーション コントローラー (アプリケーションのナビゲーション コントローラーではなく、photoPicker 独自のナビゲーション コントローラー) に組み込まれていることです。ステータス バーとナビゲーション バーを半透明にし、photoPicker で使用されるすべてのビュー コントローラーで wantsFullScreenLayout = YES を設定しました。ほぼ問題なく動作しているようです。「概要」ビュー (アルバムのすべての写真のサムネイルを表示するビュー) は確かにフルスクリーンであり、最初はサムネイルがナビゲーション バーの下に表示されるように手動でオフセットする必要があります。ただし、スクロール部分には不具合があります。そうでない人のために photoScroller のサンプル コードは、UIScrollView 属性 (pagingScrollView) を持つカスタム UIViewController (PhotoViewController) と、UIView および NSInteger インデックス属性を持つ一連のカスタム UIScrollView (ImageScrollView) で動作します。ImageScrollView インスタンスは、PhotoScroller のサブビューとして追加/削除されます。

以下は関連するコードです:

PhotoViewController.h

PhotoViewController.m

ImageScrollView.h

ImageScrollView.m

私の問題は、最初に PhotoViewController インスタンスをロードしたときに、pagingScrollView が (0, -64) ピクセル (ステータス バーの高さ + ナビゲーション バーの高さ) の原点にオフセットされていることです。これにより、ImageScrollView がナビゲーション バー (原点 (0, 0)) の下に表示され、その高さが画面よりも小さい場合でも上下にスクロールできる、混乱したインターフェイスが発生します。

いくつかのログとブレークポイントを使用して、読み込みプロセスの開始時に pagingScrollView の境界が適切であることを確認できました。画面に合わせて ImageScrollView の画像を拡大縮小すると、それらが変化します。これにより、viewForZoomingInScrollView が呼び出され、次に scrollViewDidScroll メソッドが呼び出されます。これらの呼び出し中に、pagingScrollView がオフセットされています。

オフセットを手動で設定しようとしましたが、processPages で設定すると、scrollView が上下に跳ね返らなくなりました...

どんな助けでも大歓迎です!

乾杯

PB