日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android应用的界面编程----View与ViewGroup的概念

發布時間:2023/12/2 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android应用的界面编程----View与ViewGroup的概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 UI OverView

  Android中所有的UI元素都是通過View與ViewGroup來構建的,View是指屏幕中一塊可與用戶進行交互的空白,類似于java界面編程中的JPanel。為了界面布局,A Group對象可以包含多個View或ViewGroup(由于ViewGroup是View的子類)。

  View的子類集合主要包括各種Input 控件,ViewGroup的子類集合包括各種布局控件。

2 user Interface layout

  每個應用程序的界面UI控件都是由如下圖中的層次關系構成。每個ViewGroup都是成員View(input 控件或者UI上定義的小部件)的不可見容器。層次結構根據需要可復雜可簡單(越簡單性能越好)。

  用戶界面構建有兩種方法:java代碼構建(跟java界面編程相似);借助xml進行界面布局。對于View類而言,它是所有UI控件的基類,所以View所包含的xml屬性和方法是所有組件都可以使用的。如下是一個layout文件示例:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="fill_parent"android:orientation="vertical" ><TextView android:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="I am a TextView" /><Button android:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="I am a Button" /> </LinearLayout> View Code

  當你的App加載上述的布局資源的時候,Android會將布局中的每個節點進行實例化成一個個對象,然后你可以為這些定義一些額外的行為,查詢對象的狀態,或者修改布局。?

3 view類的xml屬性及其說明

XML屬性說明
android:alpha設置該組件的透明度
android:background設置該組件的背景顏色
android:clickable設置該組件是否可以激發單擊事件
android:contentDescription設置該組件的主要描述信息
android:drawingCasheQuanlity設置該組件所使用的繪制緩存質量
android:fadeScrollbars設置該組件不使用滾動條時,是否淡出顯示滾動條
android:fadingEdge設置滾動該組件時邊界是否使用淡出效果
android:fadingEdgeLength設置淡出邊界長度
android:focusable設置該組件是否可以得到焦點
android:focusableInTouchMode設置該組件在觸摸模式下是否可以得到焦點
android:id設置該組件ViewById來獲取它
android:isScrollContainer設置該組件是否可以作為可滾動容器使用
android:keepScreenOn設置該組件是否會強制手機屏幕一直打開
android:longClickable設置該組件是否可以響應長單擊事件
android:minHeight設置該組件的最小高度
android:minWidth設置該組件的最小寬度
android:nextFocusDown設置焦點在該組件上,且按向下鍵時獲得焦點的組件id
android:nextFocusRight設置焦點在該組件上,且按向右鍵時獲得焦點的組件id
android:nextFocusLeft設置焦點在該組件上,且按向左鍵時獲得焦點的組件id
android:nextFocusUp設置焦點在該組件上,且按向上鍵時獲得焦點的組件id
android:onClick為該組件的單擊事件綁定監聽器
android:padding在組件的四邊設置填充區域
android:paddingLeft在組件的左邊設置填充區域
android:paddingRight在組件的右邊設置填充區域
android:paddingBottom在組件的底邊設置填充區域
android:paddingTop在組件的頂邊設置填充區域
android:rotation設置該組件的旋轉角度
android:rotationX設置該組件繞X軸旋轉的角度
android:rotationY設置該組件繞Y軸旋轉的角度
android:saveEnabled設置為false,當該組件被凍結時不會保存其狀態
android:scaleX設置該組件水平方向的縮放比
android:scaleY設置該組件垂直方向的縮放比
android:scrollX設置該組件初始化后的水平滾動條偏移
android:scrollY設置該組件初始化后垂直滾動條偏移

android:scrollbarAlwaysDrawHorizontalTrack

設置該組件是否顯示水平滾動條的軌跡
android:scrollbarAlwaysDrawVerticalTrack設置該組件是否顯示垂直滾動條的軌跡
android:scrollbarDefaultDelayBeforeFade設置滾動條在淡出隱藏之前延遲多少毫秒
android:scrollbarFadeDuration設置滾動條淡出隱藏需要多少秒
android:scrollbarSize設置垂直滾動條的寬度和水平滾動條的高度
android:scrollbarStyle設置滾動條的風格和位置:insideOverlay
android:scrollThumbHorizontal設置該組件水平滾動滑塊對對應的Drawable對象
android:scrollThumbVertical設置該組件垂直滾動滑塊對對應的Drawable對象
android:scrollTrackbHorizontal設置該組件水平滾動軌道對對應的Drawable對象
android:scrollTrackbVertical設置該組件垂直滾動軌道對對應的Drawable對象
android:scrollbar設置該組件滾動時顯示幾個滾動條:none horizontal,vertical
android:soundEffectsEnabled設置該組件被單擊時是否使用音效
android:tag為組件設置一個字符串tag值,可以通過view的getTag 獲取字符串,或通過findViewByTag查找該組件

android:transformPivotX

設置該組件旋轉時旋轉中心的X坐標
android:transformPivotY設置該組件旋轉時旋轉中心的Y坐標
android:translationX設置該組件在x方向上的位移
android:translationY設置該組件在Y方向上的位移
android:visibility設置該組件是否可見

?4 ViewGroup類

  ViewGroup繼承了View類,故其可以當作普通的View來使用;但ViewGroup是一個抽象類,實際都是使用ViewGroup的子類作為容器類。ViewGroup容器控制容器內組件的分布依賴于ViewGroup.LayoutParams與ViewGroup.MarginLayoutParams兩個內部類。這兩個內部類也提供了一些XML屬性,ViewGroup容器內子組件可以指定這些xml屬性。

4.1 ViewGroup.LayoutParams所支持的兩個xml屬性

xml屬性說明
android:layout_height指定該子組件的布局高度fill_parent/match_parent/wrap_parent
android:layout_width指定該子組件的布局寬度fill_parent/match_parent/wrap_parent

4.2 ViewGroup.MarginLayoutParams:控制子組件周圍的頁邊距

xml屬性說明
android:layout_marginBottom指定該子組件下邊的頁邊距
android:layout_marginLeft指定該子組件左邊的頁邊距
android:layout_marginRight指定該子組件右邊的頁邊距
android:layout_marginTop指定該子組件上邊的頁邊距

?

?

?

?

?

3 線性布局管理器LinearLayout

  線性布局由LinearLayout類代表,將容器里的組件一個挨一個地排列起來,LinearLayout不會自動換行,到末尾后剩余的組件將不會被顯示出來。LinearLayout支持的常用xml屬性及其說明。

xml屬性說明
android:baselineAligned該屬性為false,將會阻止布局管理器與它的子元素基線對其
android:divider設置垂直布局時,兩個按鈕之間的分隔條
android:gravity設置布局管理器內組件的對齊方式。該屬性支持top/button/left/right/center_vertical/fill_vertical...
android:measureWithLargestChild當屬性設置為true時,所有帶權重的子元素都會具有最大元素的最小尺寸
android:orientation設置布局管理器內組件的排列方式vertical/horizontal默認值

3.1 LinearLayout.LayoutParams控制

xml屬性說明
android:layout_gravity指定該布局管理器內子組件布局方式
android:layout_weight指定該子元素在linearLayout中所占的權重

轉載于:https://www.cnblogs.com/penghuster/p/4878703.html

總結

以上是生活随笔為你收集整理的android应用的界面编程----View与ViewGroup的概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。