New UI-設定view的可見與不可見,newui-view可見
New UI-設定View的可見與不可見
——轉載請註明出處:coder-pig,歡迎轉載,請勿用於商業用途!
小豬Android開發交流群已建立,歡迎大家加入,無論是新手,菜鳥,大神都可以,小豬一個人的
力量畢竟是有限的,寫出來的東西肯定會有很多紕漏不足,歡迎大家指出,集思廣益,讓小豬的博文
更加的詳盡,幫到更多的人,O(∩_∩)O謝謝!
小豬Android開發交流群:小豬Android開發交流群群號:421858269
新Android UI執行個體大全目錄:http://blog.csdn.net/coder_pig/article/details/42145907
本節引言:
控制View的可見於不可見,通常可以理解為隱藏吧,這也是我們在寫畫布局時用的比較多一個屬性,
比如隱藏一個按鈕,在特定情況讓他顯示出來,又或者點擊一個按鈕然後顯示隱藏的ImageView或者
ListView等等,這個屬性還是比較常用的,有必要瞭解下!當你需要一個View時,又不想讓他顯示到
介面上的時候可以考慮使用Visibility這個屬性!
1)XML設定
android:visibility="gone" //不可見,且不佔用空間
android:visibility="visible" //可見
android:visibility="invisible" //不可見,但佔用空間
2)Java代碼動態設定
假設介面中有這樣一個TextView tv;
tv.setVisibility(View.GONE); //不可見,且不佔用空間,常量值為:0x00000008
tv.setVisibility(View.VISIBLE); //可見,常量值為:0x00000000
tv.setVisibility(View.INVISIBLE); //不可見,但佔用空間,常量值為:0x00000004
3)簡單的使用樣本:
運行:
這個屬性的用法比較簡單就不講解了,直接看範例程式碼吧:
activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.jay.example.visibilitydemo.MainActivity" > <TextView android:id="@+id/txtPage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="1/10" android:textColor="#FF7878" android:textSize="20sp" /> <Button android:id="@+id/btnPageBefore" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:text="上一頁" /> <Button android:id="@+id/btnPageNext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:text="下一頁" /></RelativeLayout>
MainActivity.java:
package com.jay.example.visibilitydemo;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {private TextView txtPage;private Button btnPageNext;private Button btnPageBefore;private MyClick myClick;private int page = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViews();setUpViews();}private void findViews() {txtPage = (TextView) findViewById(R.id.txtPage);btnPageNext = (Button) findViewById(R.id.btnPageNext);btnPageBefore = (Button) findViewById(R.id.btnPageBefore);}private void setUpViews() {myClick = new MyClick();btnPageNext.setOnClickListener(myClick);btnPageBefore.setOnClickListener(myClick);}private class MyClick implements OnClickListener {@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btnPageNext:btnPageBefore.setVisibility(View.VISIBLE);page++;txtPage.setText(page + "/10");if(page == 10){btnPageNext.setVisibility(View.GONE);}break;case R.id.btnPageBefore:btnPageNext.setVisibility(View.VISIBLE);page--;txtPage.setText(page + "/10");if(page == 0){btnPageBefore.setVisibility(View.GONE);}break;}}}}