❶ android 怎麼隱藏控制項,又不回收控制項的空間
在Android開發中,大部分控制項都有visibility這個屬性,其屬性有3個分別為「visible 」、「invisible」、「gone」。主要用來設置控制控制項的顯示和隱藏。有些人可能會疑惑Invisible和gone是有什麼區別的???
其在XML文件和java代碼中設置如下:
可見(visible)
XML文件:android:visibility="visible"
Java代碼:view.setVisibility(View.VISIBLE);
不可見(invisible)
XML文件:android:visibility="invisible"
Java代碼:view.setVisibility(View.INVISIBLE);
隱藏(GONE)
XML文件:android:visibility="gone"
Java代碼:view.setVisibility(View.GONE);
VISIBLE:設置控制項可見
INVISIBLE:設置控制項不可見
GONE:設置控制項隱藏
而INVISIBLE和GONE的主要區別是:當控制項visibility屬性為INVISIBLE時,界面保留了view控制項所佔有的空間;而控制項屬性為GONE時,界面則不保留view控制項所佔有的空間。
http://blog.csdn.net/chindroid/article/details/8000713
❷ android布局控制項之LinearLayout詳解
Android布局控制項之LinearLayout詳解
LinearLayout是線性布局控制項,它包含的子控制項將以橫向或豎向的方式排列,按照相對位置來排列所有的widgets或者其他的containers,超過邊界時,某些控制項將缺失或消失。因此一個垂直列表的每一行只會有一個widget或者是container,而不管他們有多寬,而一個水平列表將會只有一個行高(高度為最高子控制項的高度加上邊框高度)。LinearLayout保持其所包含的widget或者是container之間的間隔以及互相對齊(相對一個控制項的右對齊、中間對齊或者左對齊)。
xml屬性
android:baselineAligned:是否允許用戶調整它內容的基線。
android:baselineAlignedChildIndex:當一個線性布局與另一個布局是按基線對齊的一部分,它可以指定其內容的基線對齊方式。
android:gravity:指定如何在該對象中放置此對象的內容(x/y坐標值)。
android:orientation:設置它內容的對其方向(橫向/豎向)。
gravity 這個英文單詞是重心的意思,在這里就表示停靠位置的意思。
android:layout_gravity 和 android:gravity 的區別
從名字上可以看到,android:gravity是對元素本身說的,元素本身的文本顯示在什麼地方靠著換個屬性設置,不過不設置默認是在左側的。
android:layout_gravity是相對與它的父元素說的,說明元素顯示在父元素的什麼位置。
比如說button:android:layout_gravity 表示按鈕在界面上的位置。 android:gravity表示button上的字在button上的位置。
可選值
這兩個屬性可選的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。
而且這些屬性是可以多選的,用「|」分開。
默認這個的值是:Gravity.LEFT
LinearLayout還支持為其包含的widget或者是container指定填充權值。好處就是允許其包含的widget或者是container可以填充屏幕上的剩餘空間。這也避免了在一個大屏幕中,一串widgets或者是containers擠成一堆的情況,而是允許他們放大填充空白。剩餘的空間會按這些widgets或者是containers指定的權值比例分配屏幕。默認的 weight 值為0,表示按照widgets或者是containers實際大小來顯示,若高於0的值,則將Container剩餘可用空間分割,分割大小具體取決於每一個widget或者是container的layout_weight及該權值在所有widgets或者是containers中的比例。例如,如果有三個文本框,其中兩個指定的權值為1,那麼,這兩個文本框將等比例地放大,並填滿剩餘的空間,而第三個文本框不會放大,按實際大小來顯示。如果前兩個文本框的取值一個為2,一個為1,顯示第三個文本框後剩餘的空間的2/3給權值為2的,1/3大小給權值為1的。也就是權值越大,重要度越大。
如果LinearLayout包含子LinearLayout,子LinearLayout之間的權值越大的,重要度則越小。如果有LinearLayout A包含LinearLayout C,D,C的權值為2,D的權值為1,則屏幕的2/3空間分給權值為1的D,1/3分給權值為2的C。在LinearLayout嵌套的情況下,子LinearLayout必須要設置權值,否則默認的情況是未設置權值的子LinearLayout占據整個屏幕
❸ Android之自定義控制項
一、簡單自定義控制項MyButton
每一個控制項都是一個java類,有對應的代碼,只要你能正確的編寫java代碼,那麼電腦培訓http://www.kmbdqn.cn/發現可以創造出符合你需求的控制項,即自定義控制項。
1.通過繼承的方式,創建自定義控制項
通過繼承一個現有的控制項,覆蓋其界面的呈現
通過繼承一個包含若乾子控制項的布局
通過繼承一個現有的控制項,覆蓋某個響應事件
繼承一個View來完整自定義一個心控制項
2.使你的自定義控制項繼承自某個最接近的Android控制項,必須是public
一般都會調用父類的構造方法,注意一般有三個構造方法
覆蓋原來控制項的方法,注意是否要再調用super中的方法
在XML中以類全名的方式引用此控制項
二、復雜自定義控制項MyLogin
需要設計包含一組控制項的自定義控制項就需要用到復雜的自定義控制項
1)使得你的自定義控制項繼承自某個接近的布局
2)正確的實現構造方法:構造方法中實例化目標布局,同時查找到各個子布局
3)添加相應的響應代碼來修改屬性,使得外部能訪問布局中的子控制項
4)在XML中以類全名的方式引用此控制項,完整的包名+類名。
❹ 如何讓android 隱藏控制項顯示時打開平滑
Android控制項都有visibility屬性,該屬性有三個可能值:visible、invisible、gone。可以通過預設或是Java程序控制這些控制項的顯示或隱藏。
一、在XML配置文件設置
可見:
android:visibility="visible"
不可見:
android:visibility="invisible"
隱藏:
android:visibility="gone"
這三種顯示方式區別: visible就是正常可見狀態,invisible是不可見狀態,但其實還在佔用排列空間,而gone則為隱藏狀態,控制項不再佔用空間。
二、在Java代碼中設置
mlistview1.setVisibility(View.GONE);//mlistview1處於隱藏狀態
mlistview1.setVisibility(View.INVISIBLE);//mlistview1處於不可見狀態
mlistview1.setVisibility(View.VISIBLE);//mlistview1處於可見狀態
❺ 在android中如何讓布局頁面選擇性顯示控制項
你可以在一個linearlayout里include兩個layout,一個隱藏,一個顯示,然後點擊button後隱藏當前的layout,顯示另外一個
❻ 如何更改android裡面xml的控制項為可見狀態
給你一個示例代碼:
TextView txt = (TextView) findViewById(R.id.txt);
txt.setVisibility(View.VISIBLE);
最後那個參數改成 View.INVISIBLE 或者 View.GONE 可以重新設置成不可見。
❼ android 如何判斷控制項的顯示或隱藏
判斷安卓的狀態欄是不是隱藏的辦法:首先看一下手機的最下邊有沒有系統的運行的程序,或者在手機上下載一個桌面管理程序,這樣就可以查看狀態欄是不是隱藏了。
在android的開發中,尤其是與訪問網路有關的開發,都要判斷一下手機是否連接上了網路,是一個判斷是否連接網路。還可以判斷是什麼網路服務。