宣告 boolean visibilityFlag 記錄當前狀態,點擊按鈕時根據旗標切換 View.VISIBLE / View.INVISIBLE 並翻轉旗標。
boolean visibilityFlag = false; // 初始隱藏
button.setOnClickListener(v -> {
if (visibilityFlag) {
targetView.setVisibility(View.INVISIBLE);
visibilityFlag = false;
} else {
targetView.setVisibility(View.VISIBLE);
visibilityFlag = true;
}
});
button.setOnClickListener(v -> {
int newVis = (targetView.getVisibility() == View.VISIBLE) ? View.INVISIBLE : View.VISIBLE;
targetView.setVisibility(newVis);
});
View.GONE 會讓視圖不佔據佈局空間,View.INVISIBLE 保留空間但隱藏。getVisibility() 更簡潔,無額外變數。