ここに私の問題に直面するコード例です。コードネーム1 - クリック時にButtonのUIIDを変更しないようにする方法はありますか?
Container master, content;
Button lockButton;
void layout() {
master = new Container (new LayeredLayout());
content = new Container (BoxLayout.y());
content.setScrollableY (true);
lockButton = new Button ("");
lockButton.setUIID ("ButtonInvisible");
lockButton.addActionListener ((e)->{
unlock();
});
master.add(content);
}
void lock() {
master.add(lockButton);
}
void unlock() {
lockButton.remove();
}
ButtonInvisible は非選択とがスタイルが等しい押さ、を選択しました。
問題の説明:ポインタがリリース上で、content
のスクロールが0で押されている間ダウン
- スクロール
content
呼び出しlock()
(クリックlockButton
インターセプト) - クリック
content
には - それが返されます前の金額に。
ボタンがクリックされたときにスタイルを変更するため、基になるコンテンツのバグを再確認/再検証するためです。ダイヤモンドの答え
追加情報に従って
更新:コンテナmaster
はSwipeableContainer
の中央部分です。
が開かれると、lock()
が呼び出されます。
SwipeableContainer
が開いているときに、私はを呼び出すと、画面が奇妙にちらつきますが、動作は変更されません。ボタンが押されるたびにスクロールがゼロにジャンプします。
多分それは重要である - コンテナ内Tabs
成分content
は、コード再検証のこのバージョンでは存在しない成分を添加しない又は除去されるため、このような問題の原因であるが、問題は依然として同じであることはできません。
Container master, content;
Button lockButton;
void layout() {
master = new Container (new LayeredLayout());
content = new Container (BoxLayout.y());
content.setScrollableY (true);
lockButton = new Button ("");
lockButton.setUIID ("ButtonInvisible");
lockButton.addActionListener ((e)->{
unlock();
});
lockButton.setFocusable(false);
master.add(content).add(lockButton);
}
void lock() {
lockButton.setFocusable(true);
}
void unlock() {
swipeableContainer.close();
lockButton.setFocusable(false);
}
私は、この説明から問題を理解することは本当に難しいと感じています。しかしここに私が言うことができるいくつかのことがあります。ボタンはUIIDを変更しません。スタイルの変更は、スクロールの再検証や影響を与えません。いくつかのスクリーンショットやビデオは、何が起こったかを説明するために長い道のりを行くことができます –
あなたの注意をお寄せいただきありがとうございます、私はできるだけ早くビデオを提供します。 –
このことはシミュレータでのみ起こり、デバイス上ではすべてが完璧です。ごめんなさい。 –