ฉันจะลบปุ่มออกหรือทำให้มองไม่เห็นใน Android ได้อย่างไร


คำตอบ:


364

ตั้งค่าการเปิดเผยปุ่มเป็นGONE (ปุ่มจะ "ลบออก" อย่างสมบูรณ์ - พื้นที่ปุ่มจะพร้อมใช้งานสำหรับวิดเจ็ตอื่น) หรือมองไม่เห็น (ปุ่มจะกลายเป็น "โปร่งใส" - พื้นที่ว่างจะไม่พร้อมใช้งานสำหรับวิดเจ็ตอื่น):

View b = findViewById(R.id.button);
b.setVisibility(View.GONE);

หรือเป็น xml:

<Button ... android:visibility="gone"/>

เมื่อคุณตั้งให้มันหายไปมันยังคงนับว่าเป็นเด็กหรือไม่? ถ้าฉันทำบางสิ่งบางอย่างเช่นเด็กนับหรือรับเด็กที่ดัชนีอะไรเคย?
Lpc_dark

1
ฉันคิดว่าใช่มันยังคงนับเป็นเด็ก
Konstantin Burov

11
และเพื่อแสดงแบบนี้ .. b.setVisibility (View.VISIBLE);
Zar E Ahmer

37

ก่อนอื่นให้ทำให้ปุ่มที่มองไม่เห็นในไฟล์ xml จากนั้นปุ่มตั้งค่าที่มองเห็นได้ในรหัสจาวาถ้าจำเป็น

Button resetButton=(Button)findViewById(R.id.my_button_del);
resetButton.setVisibility(View.VISIBLE); //To set visible

xml:

<Button
android:text="Delete"
android:id="@+id/my_button_del"
android:layout_width="72dp" 
android:layout_height="40dp"
android:visibility="invisible"/>

ฉันต้องการทำให้ปุ่มมองไม่เห็น แต่ควรมีความสามารถในการทำกิจกรรมเหมือนกับปุ่ม Super secret ไม่ควรแสดงในกิจกรรม แต่ปุ่มควรใช้งานได้
Samrat Mazumdar

1
ใช้ "buttonCleanup.setVisibility (View.VISIBLE);" แทนที่จะเป็นศูนย์
Vincent

17

วิธีลบปุ่มในรหัส java :

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.GONE);

เพื่อปุ่มโปร่งใสในรหัส java :

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.INVISIBLE);

หากต้องการลบปุ่มในไฟล์ Xml :

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>

ในการปุ่มโปร่งใสในไฟล์ Xml :

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"/>


12

มุมมองนี้จะมองเห็นได้

button.setVisibility(View.VISIBLE);

มุมมองนี้มองไม่เห็นและไม่ใช้พื้นที่สำหรับจุดประสงค์ในการจัดวาง

button.setVisibility(View.GONE); 

แต่ถ้าคุณเพียงแค่ต้องการทำให้มันมองไม่เห็น:

button.setVisibility(View.INVISIBLE);

4

ใช้ setVisibility ในปุ่มหรือ imageViwe หรือ .....
ในการลบปุ่มในโค้ดจาวา:

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(Button.GONE);

เพื่อโปร่งใสปุ่มในรหัสจาวา

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(Button.INVISIBLE);


คุณควรทำให้โค้ด xml ของคุณเป็นปุ่มด้านล่าง:

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>


ซ่อน:
ทัศนวิสัย: หายไป
แสดง:
ทัศนวิสัย: มองไม่
เห็น: มองเห็นได้


3
button.setVisibility(button.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);

ทำให้มองเห็นได้หากมองไม่เห็นและมองไม่เห็นถ้ามองเห็นได้


1

มุมมองตัวควบคุม (TextView, EditText, ปุ่ม, รูปภาพ, ฯลฯ ) ล้วนมีคุณสมบัติการมองเห็น สิ่งนี้สามารถตั้งค่าเป็นหนึ่งในสามค่า:

มองเห็นได้ - แสดงผล

android:visibility="visible"

Invisible - ซ่อนอยู่ แต่สงวนพื้นที่ไว้

android:visibility="invisible"

Gone - ซ่อนอย่างสมบูรณ์

android:visibility="gone"

ในการตั้งค่าการมองเห็นในโค้ดให้ใช้ค่าคงที่สาธารณะที่มีอยู่ในคลาสมุมมองแบบคงที่:

Button button1 = (TextView)findViewById(R.id.button1);
button1.setVisibility(View.VISIBILE);


0
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/activity_register_header"
    android:minHeight="50dp"
    android:orientation="vertical"
    android:visibility="gone" />

ลองใช้รหัสนี้

การมองเห็นทำงานได้ดีในรหัสนี้


0

หากคุณต้องการสร้างปุ่มที่มองไม่เห็นให้ใช้สิ่งนี้:

<Button ... android:visibility="gone"/>

View.INVISIBLE:

ปุ่มจะโปร่งใส แต่มันใช้พื้นที่

View.GONE

ปุ่มจะถูกลบออกจากเลย์เอาต์อย่างสมบูรณ์และเราสามารถเพิ่มวิดเจ็ตอื่น ๆ ในตำแหน่งของปุ่มที่ถูกลบออก


0

เพื่อเข้าถึงองค์ประกอบจากคลาสอื่นคุณสามารถใช้

findViewById(R.id.**nameOfYourelementID**).setVisibility(View.GONE); 


-2

ลองใช้รหัสนี้:

button.setVisibility(View.INVISIBLE);

9
คุณไม่ควรใช้ค่าตายตัวในวิธีนี้ - เพียงใช้ค่าคงที่ - View.GONE, View.VISIBLE หรือ View.INVISIBLE
bkurzius
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.