私は少しこのことに固執しています。まずは以下のリンクを参考にしてみましょう。しかし、私は可視性について少し問題を思いつきました:ビューが画面上に表示されているかどうかを判断する - Android
リンク: - 私はXML(android:visibility="gone"
)内View.GONE
に設定項目がいくつかあります(>TableLayout
LinearLayout
)などCheck view visibility
私は、スクロールビュー(親)とサブビューの数を持っています。
は、私はそれが目に見えるか、私はView.VISIBLE
に項目を設定ししかし
getVisibility()
を使用していないかどうかを判断し、すぐ
getDrawingRect()
私は軒並みゼロでのRectを取得しようとするいくつかの簡単なコードを持っています。それ以上クリックすると、正しい座標が得られます。
これは、(XMLで定義されているように)ビューが描画されていないために座標が返されない可能性がありますが、画面の可視性を判断する前にView.VISIBLE
と設定しています。 onDraw()から何らかのコールバックを取得する必要がありますか?コード内の隠しアイテムの表示の可視性を設定することができます。迷惑なビット(
一部コード:
Rect scrollBounds = new Rect();
scroll.getHitRect(scrollBounds);
Rect viewBounds = new Rect();
if (view.getVisibility() == View.GONE) {
view.setVisibility(View.VISBLE)
viewBounds.getDrawingRect(viewBounds);
if (!Rect.intersects(scrollBounds, viewBounds) {
// do somthing
}
}
レイアウト面積は次のように
ScrollView
LinearLayout
TableLayout
もちろん210Button
HiddenView
、それは私が完全にこのことについて間違った道を進んだ可能性が高いです - 基本的に私はちょうどそれを確認しますスクロールビュー自体が表示されるので、表示されているビューは全体で見ることができます。
その他の情報が必要な場合は、お知らせください。
クール。それが助けられたならば、矢印/ 1を刻むことを自由に感じてください。乾杯。 – OceanLife
それをやろうとしましたが、私の評判のポイントは私を許しませんでした:( –