亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

annuaire recherche
android Manifest Manifest.permission Manifest.permission_group android.accessibilityservice AccessibilityService android.accounts Account android.app NotificationManager android.bluetooth BluetoothAdapter BluetoothClass BluetoothClass.Device BluetoothClass.Device.Major BluetoothClass.Service BluetoothDevice BluetoothServerSocket BluetoothSocket android.content SharedPreferences android.database.sqlite SQLiteCursorDriver SQLiteOpenHelper android.graphics Bitmap android.location LocationListener Geocoder GpsStatus GpsStatus.Listener GpsStatus.NmeaListener GpsSatellite android.media AudioFormat AsyncPlayer AudioRecord AudioRecord.OnRecordPositionUpdateListener ThumbnailUtils AudioManager android.net TrafficStats MailTo LocalSocket android.os AsyncTask AsyncTask.Status CountDownTimer Message MessageQueue HandlerThread android.text Html android.util JsonWriter android.view ContextMenu ContextMenu.ContextMenuInfo Display ViewManager View ViewStub ViewTreeObserver ViewParent WindowManager GestureDetector Gravity MenuInflater ScaleGestureDetector SoundEffectConstants android.view.inputmethod InputConnection InputMethod InputMethodSession BaseInputConnection InputMethodManager android.widget AbsListView AbsListView.LayoutParams AbsListView.OnScrollListener AbsListView.RecyclerListener AbsoluteLayout AbsoluteLayout.LayoutParams AbsSeekBar AbsSpinner AdapterView AdapterView.AdapterContextMenuInfo AdapterView.OnItemLongClickListener AdapterView.OnItemSelectedListener AdapterView.OnItemClickListener AnalogClock BaseAdapter BaseExpandableListAdapter Button CheckBox CheckedTextView Checkable Chronometer Chronometer.OnChronometerTickListener CompoundButton CompoundButton.OnCheckedChangeListener CursorAdapter CursorTreeAdapter DatePicker DatePicker.OnDateChangedListener DialerFilter DigitalClock EditText Filter Filter.FilterListener Filter.FilterResults ExpandableListAdapter ExpandableListView.OnChildClickListener ExpandableListView.OnGroupClickListener ExpandableListView.OnGroupCollapseListener ExpandableListView.OnGroupExpandListener Filterable Gallery Gallery.LayoutParams GridView GridLayout GridLayout.Alignment RadioGroup ImageView ImageView.ScaleType HorizontalScrollView ImageButton ImageSwitcher FilterQueryProvider ListAdapter ListView MediaController MultiAutoCompleteTextView MultiAutoCompleteTextView.CommaTokenizer MultiAutoCompleteTextView.Tokenizer QuickContactBadge RadioButton RatingBar RatingBar.OnRatingBarChangeListener RelativeLayout RemoteViews ResourceCursorAdapter ResourceCursorTreeAdapter Scroller ScrollView SearchView SearchView.OnCloseListener SearchView.OnQueryTextListener SearchView.OnSuggestionListener SeekBar SeekBar.OnSeekBarChangeListener SimpleAdapter SimpleAdapter.ViewBinder SimpleCursorAdapter SimpleCursorAdapter.CursorToStringConverter SimpleCursorAdapter.ViewBinder SimpleCursorTreeAdapter SimpleCursorTreeAdapter.ViewBinder SimpleExpandableListAdapter SlidingDrawer SlidingDrawer.OnDrawerCloseListener SlidingDrawer.OnDrawerOpenListener SlidingDrawer.OnDrawerScrollListener Spinner SpinnerAdapter WrapperListAdapter TabHost TabHost.TabSpec TextView TimePicker TimePicker.OnTimeChangedListener Toast TableLayout TableLayout.LayoutParams TableRow TableRow.LayoutParams TabWidget TextSwitcher ToggleButton TwoLineListItem VideoView ViewAnimator ViewFlipper ViewSwitcher ViewSwitcher.ViewFactory ZoomButtonsController ZoomButtonsController.OnZoomListener ZoomButton ZoomControls dalvik.system DexFile
personnages


HorizontalScrollView

版本:Android 2.3 r1

?

結(jié)構(gòu)

繼承關(guān)系

public class HorizontalScrollView extends FrameLayout

????????

java.lang.Object

android.view.View

???????? android.view.ViewGroup

?????????????????? android.widget.FrameLayout

??????????????????????????? android.widget.HorizontalScrollView

?

類概述

用于布局的容器,可以放置讓用戶使用滾動條查看的視圖層次結(jié)構(gòu),允許視圖結(jié)構(gòu)比手機的屏幕大。HorizontalScrollView是一種FrameLayout(框架布局),其子項被滾動查看時是整體移動的,并且子項本身可以是一個有復雜層次結(jié)構(gòu)的布局管理器。一個常見的應用是子項在水平方向中,用戶可以滾動顯示頂層水平排列的子項(items)。

HorizontalScrollView不可以和ListView同時用,因為ListView有自己的滾動條設置。最重要的是,如果在需要顯示很大的list的情況下,兩者同時用則會使ListView在一些重要的優(yōu)化上失效。出現(xiàn)這種失效的原因在于,HorizontalScrollView會強迫ListViewHorizontalScrollView本身提供的空間容器(infinite container)來顯示完整的列表。

?類似的情況,TextView也有自己的滾動條,所以不需要ScrollView。但這兩者是可以同時使用的,使用的結(jié)果會是在一個更大的容器里顯示文本視圖。

HorizontalScrollView只支持水平方向的滾動顯示。

?

公共方法

public void addView (View child)

添加一個子視圖。若這個子視圖沒有被設置布局參數(shù),則使用ViewGroup的缺省參數(shù)。

參數(shù)

child ??????? 要添加的子視圖

?

public void addView (View child, int index)

添加一個子視圖。若這個子視圖沒有被設置布局參數(shù),則使用ViewGroup的缺省參數(shù)。

參數(shù)

child ??????? 要添加的子視圖

index ????? 子視圖要加入的位置

?

public void addView (View child, int index, ViewGroup.LayoutParams params)

添加一個帶有指定布局參數(shù)的子視圖。

參數(shù)

child ??????? 要添加的子視圖

index ????? 子視圖要加入的位置

params ? 子視圖的布局參數(shù)

?

public void addView (View child, ViewGroup.LayoutParams params)

添加一個帶有指定布局參數(shù)的子視圖。

參數(shù)

child ??????? 要添加的子視圖

params ? 子視圖的布局參數(shù)

?

public boolean arrowScroll (int direction)

響應點擊左右箭頭時對滾動條的處理。

參數(shù)

direction ???????? The direction corresponding to the arrow key that was pressed箭頭按鍵所表示的方向

返回值

??? ???????? 若此事件成功完成,則返回true;否則返回false。

?

public void computeScroll ()

被父視圖調(diào)用,用于必要時候?qū)ζ渥右晥D的值(mScrollXmScrollY)進行更新。典型的情況如:父視圖中某個子視圖使用一個Scroller對象來實現(xiàn)滾動操作,會使得此方法被調(diào)用。

?

public boolean dispatchKeyEvent (KeyEvent event)

按照可以獲得焦點的順序(從視圖樹的頂端到當前獲得焦點的視圖),分派一個按鍵事件給下一個視圖。若此視圖為焦點視圖,事件將會分派給它自己。否則它將按照順序,分派給下一個節(jié)點。此方法同時觸動所有按鍵監(jiān)聽器。

參數(shù)

event ????? 被分派的事件.

返回值

??? ???????? 若事件被處理,則返回true;否則為false

?

public void draw (Canvas canvas)

手動繪制視圖(及其子視圖)到指定的畫布(Canvas)。這個視圖必須在調(diào)用這個函數(shù)之前做好了整體布局。。當實現(xiàn)一個視圖時,不需要繼承這個方法;相反,你應該實現(xiàn)onDraw(Canvas)方法。

參數(shù)

canvas ?? 繪制視圖的畫布

?

public boolean executeKeyEvent (KeyEvent event)

需要通過按鍵事件來實現(xiàn)滾動操作時,可以調(diào)用此方法。效果類似于由視圖樹型結(jié)構(gòu)分派事件。

參數(shù)

event ????? 需要執(zhí)行的事件

返回值

??? ???????? 若事件被處理,則返回true;否則為false

?

public void fling (int velocityX)

滾動視圖的fling手勢。

參數(shù)

velocityX ???????? 方向的初始速率。正值表示手指/光標向屏幕右邊滑動,而內(nèi)容相對向左滾動。

?

public boolean fullScroll (int direction)

處理按下"home/end"快捷鍵之后的滾動響應。此方法會將視圖移左或移右,同時將焦點賦予移動后可視的最左或最右的組件。如果沒有任何組件適合得到焦點,此scrollview將收回焦點。

參數(shù)

direction ???????? 滾動方向:FOCUS_LEFT表示向視圖的左邊移動,FOCUS_RIGHT表示向視圖的右邊移動

返回值

??? ???????? 若此方法消耗(consumed)了按鍵事件則返回true,否則返回false。

?

public int getMaxScrollAmount ()

返回值

??? ???????? 按左右箭頭時視圖可以滾動的最大值。

?

public boolean isFillViewport ()

表示此ScrollView的內(nèi)容是否被拉伸以適應視口(viewport)的大小。

返回值

??? ???????? 若內(nèi)容填充了視口則返回true,否則返回false。

?

public boolean isSmoothScrollingEnabled ()

返回值

??? ???????? 按箭頭方向滾動時,是否顯示滾動的平滑效果。

?

public boolean onInterceptTouchEvent (MotionEvent ev)

使用此方法可以攔截所有觸摸屏動作引發(fā)的事件。這意味著你可以監(jiān)視分派給子項的事件,并且可以拿到任何當前手勢的所有權(quán)。

使用此方法需謹慎。因為它與View.onTouchEvent(MotionEvent)有相當復雜的交互影響。這兩者都必須同時正確地實現(xiàn)。事件將按以下順序來被方法接收:

?? 1. 接收到down事件

?? 2. 事件將被視圖組的一個子視圖處理,或者被傳遞給自己的onTouchEvent()方法處理;這意味著你必須實現(xiàn)onTouchEvent(),并且返回true,這樣才可以接著接受到其他的手勢(而不是尋求一個父視圖來處理它)。onTouchEvent()返回true后,你將不再接受到onInterceptTouchEvent()的任何事件,同時所有對觸摸動作的處理必須像往常一樣在onTouchEvent()中進行。

?? 3. 如果返回false,則接下來的每個事件(所有的up事件,包含最后一個up將會首先被傳遞到這里,然后到目標對象viewonTouchEvent()

?? 4. 如果返回ture,你將不會接收到以下任何事件:目標view將會接收到相同的事件,但是帶著ACTION_CANCEL的動作。所有在此之后的事件將會被傳遞到你的onTouchEvent()方法中,并且不再在這里出現(xiàn)。

參數(shù)

ev ?? 沿著樹型結(jié)構(gòu)往下分派的動作事件

???????? 返回值

??? ???????? 若將動作事件從子視圖中截獲并通過onTouchEvent()將他們分派給當前ViewGroup,則返回true。當前目標將收到一個ACTION_CANCEL事件,并且不再會有其他消息被傳遞到這里。

?

public boolean onTouchEvent (MotionEvent ev)

此方法用于處理觸摸屏的動作事件。

參數(shù)

ev ?? 動作事件

???????? 返回值

??? ???????? 若事件被成功處理,則返回true;否則返回false

?

public boolean pageScroll (int direction)

處理按下"page up/down"快捷鍵之后的滾動響應。此方法會將視圖往左或往右滾動一個頁面的距離,同時將焦點賦予移動后可視的最左或最右的組件。如果沒有任何組件適合得到焦點,此scrollview將收回焦點。

參數(shù)

direction ???????? 滾動方向:FOCUS_LEFT表示向視圖的左邊移動一個頁面FOCUS_RIGHT表示向視圖的右邊移動一個頁面

???????? 返回值

??? ???????? 若此方法處理(consumed)了按鍵事件則返回true,否則返回false。

?

public void requestChildFocus (View child, View focused)

當父視圖的一個子視圖要獲得焦點時,調(diào)用此方法。

參數(shù)

child ??????? 要獲得焦點的子視圖。此視圖將包含焦點視圖,但其本身不必為焦點。

focused ? 事實上擁有焦點的子視圖的下層視圖。

?

public boolean requestChildRectangleOnScreen (View child, Rect rectangle, boolean immediate)

當組里的某個子視圖需要被定位在屏幕的某個矩形范圍時,調(diào)用此方法。重載此方法的ViewGroup可確認以下幾點:

??? * 子項目將是組里的直系子項

??? * 矩形將在子項目的坐標體系中

重載此方法的ViewGroup應該支持以下幾點:

??? * 若矩形已經(jīng)是可見的,則沒有東西會改變

??? * 為使矩形區(qū)域全部可見,視圖將可以被滾動顯示

參數(shù)

child ??????? 發(fā)出請求的子視圖

rectangle ??????? 子項目坐標系內(nèi)的矩形,即此子項目希望在屏幕上的定位

immediate ???? 設為true,則禁止動畫和平滑移動滾動條

???????? 返回值

??? ???????? 進行了滾動操作的這個組(group),是否處理此操作

?

public void requestLayout ()

當出現(xiàn)使視圖布局失效的改變時,調(diào)用此方法。它將規(guī)劃一個視圖樹的布局路徑。

?

public void scrollTo (int x, int y)

設置視圖滾動后的位置。這將引起onScrollChanged(int,int,int,int)的調(diào)用,同時使此視圖失效。

此版本同時將滾動鎖定于子視圖的范圍。

參數(shù)

x ???? 要滾動到的x位置

y ???? 要滾動到的y位置

?

public void setFillViewport (boolean fillViewport)

設置此滾動視圖是否將內(nèi)容寬度拉伸來適應視口(viewport)。

參數(shù)

fillViewport ??? 設置為true表示將拉伸內(nèi)容寬度;否則會設置為false。

?

public void setOverScrollMode (int mode)

為視圖設置over-scroll模式。有效的over-scroll模式有OVER_SCROLL_ALWAYS(缺省值),OVER_SCROLL_IF_CONTENT_SCROLLS(只允許當視圖內(nèi)容大過容器時,進行over-scrolling)和OVER_SCROLL_NEVER。只有當視圖可以滾動時,此項設置才起作用。

參數(shù)

mode ????? 視圖的新over-scroll模式值

?

public void setSmoothScrollingEnabled (boolean smoothScrollingEnabled)

設置是否呈現(xiàn)按下箭頭后的平滑滾動效果(動畫效果)。

參數(shù)

smoothScrollingEnabled ???????? 設置是否呈現(xiàn)平滑滾動效果

?

public final void smoothScrollBy (int dx, int dy)

類似scrollBy(int, int),但是呈現(xiàn)平滑滾動,而非瞬間滾動(譯者注:瞬間滾動——指不顯示滾動過程,直接顯示滾動后達到的位置)。

參數(shù)

dx ?? 要滾動的X軸像素差值(譯者注:橫向像素差值)

dy ?? 要滾動的Y軸像素差值(譯者注:縱向像素差值)

?

public final void smoothScrollTo (int x, int y)

類似scrollTo(int, int),但是呈現(xiàn)平滑滾動,而不是瞬間滾動。

參數(shù)

x ???? 滾動要到達位置的X軸值

y ???? 滾動要到達位置的Y軸值

?

受保護方法

???????? protected int computeHorizontalScrollOffset ()

計算水平方向滾動條的滑塊的偏移值。此值用來計算滾動時滑塊的位置。

偏移值的范圍可以以任何單位表示,但必須與computeHorizontalScrollRange()computeHorizontalScrollExtent()的單位一致。

缺省的偏移值為視圖滾動的偏移差值。

?????????????????? 返回值

??? ?????????????????? 滾動條滑塊在水平方向上的偏移值

?

protected int computeHorizontalScrollRange ()

scroll view 的可滾動水平范圍是所有子視圖的寬度總合。

?????????????????? 返回值

??? ?????????????????? 水平滾動條表示的全部水平滾動范圍

?

protected int computeScrollDeltaToGetChildRectOnScreen (Rect rect)

計算X方向滾動的總合,以便在屏幕上顯示子視圖的完整矩形(或者,若矩形寬度超過屏幕寬度,至少要填滿第一個屏幕大小)。

參數(shù)

rect ???????? 矩形

?????????????????? 返回值

??? ?????????????????? 滾動差值

?

protected float getLeftFadingEdgeStrength ()

返回左漸變邊緣的強度或密集度。強度的值介于0.0(無漸變)到1.0(全漸變)之間。缺省實現(xiàn)只返回0.01.0,而不返回中間值。子類必須重載次方法來給滾動動作提供更平滑的漸變過程。

?????????????????? 返回值

??? ?????????????????? 左漸變的強度,即介于0.0f1.0f之間的浮點值

?

protected float getRightFadingEdgeStrength ()

返回右漸變邊緣的強度或密集度。強度的值介于0.0(無漸變)到1.0(全漸變)之間。缺省實現(xiàn)只返回0.01.0,而不返回中間值。子類必須重載此方法來給滾動動作提供更平滑的漸變過程。

?????????????????? 返回值

??? ?????????????????? 右漸變的強度,即介于0.0f1.0f之間的浮點值

?

protected void measureChild (View child, int parentWidthMeasureSpec, int parentHeightMeasureSpec)

要求子視圖測量自身,需要將視圖的MeasureSpec和其附加內(nèi)容同時考慮在內(nèi)。getChildMeasureSpec在其中承擔了重要角色,它計算出MeasureSpec,并傳遞給子視圖。

參數(shù)

child ??????? 要測量的子視圖

parentWidthMeasureSpec ??? 此視圖的寬度要求

parentHeightMeasureSpec ?? 此視圖的高度要求

?

protected void measureChildWithMargins (View child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed)

要求子視圖測量自身,需要將視圖的MeasureSpec、附加內(nèi)容和邊緣部分同時考慮在內(nèi)。子項必須有MarginLayoutParams(邊緣布局參數(shù))。getChildMeasureSpec在其中承擔了重要角色,它計算出MeasureSpec,并傳遞給子視圖。

參數(shù)

child ??????? 要測量的子視圖

parentWidthMeasureSpec ??? 此視圖的寬度要求

widthUsed ????? 被父視圖(也可能是其他子視圖)占用的橫向額外空間

parentHeightMeasureSpec ?? 此視圖的高度要求

heightUsed ??? 被父視圖(也可能是其他子視圖)占用的縱向額外空間

?

protected void onLayout (boolean changed, int l, int t, int r, int b)

當此視圖要給每個子視圖賦值大小和位置時,layout會調(diào)用此方法。子項的派生類應當重載此方法,并且調(diào)用各個子項的layout。

參數(shù)

changed ????????? 此視圖有新的大小或位置

l ????? 左邊界位置,相對于父視圖

t ???? 上邊界位置,相對于父視圖

r ???? 右邊界位置,相對于父視圖

b ???? 下邊界位置,相對于父視圖

?

protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)

調(diào)用此方法來確定本身和所包含內(nèi)容的大?。▽挾群透叨龋4朔椒ū?/span>measure(int,int)喚起,而且必須被子類重載以得到所包含內(nèi)容的確切大小。

???????? 注意:當重載此方法時,必須調(diào)用setMeasureDimension(int,int)來保存View的大小。如果沒有做到,將會引發(fā)一個measure(int,int)拋出的IllegalStateException(非法狀態(tài)錯誤)。超類onMeasure(int,int)可以被調(diào)用。

???????? 編寫基類的確認大小的方法,缺省情況下是根據(jù)其背景大小來確認,除非MeasureSepc允許有更大的高度或?qū)挾?。子類必須重載onMeasure(int,int)以得到對其內(nèi)容大小的更準確的測量。

???????? 若此方法被重載,它的子類需要確保其高度和寬度至少達到View所規(guī)定的最小值(可通過getSuggestedMinimumHeight()getSuggestedMinimumWidth()得到)。

參數(shù)

widthMeasureSpec ??????? 受上一層大小影響下的對水平空間的要求??蓞⒖?/span>View.MeasureSpec。

heightMeasureSpec ?????? 受上一層大小影響下的對垂直空間的要求??蓞⒖?/span>View.MeasureSpec

?

protected void onOverScrolled (int scrollX, int scrollY, boolean clampedX, boolean clampedY)

overScrollBy(int, int, int, int, int, int, int, int, boolean)調(diào)用,來對一個over-scroll操作的結(jié)果進行響應。

參數(shù)

scrollX ??? 新的X滾動像素值

scrollY ??? 新的Y滾動像素值

clampedX ?????? scrollXover-scroll的邊界限制時,值為true

clampedY ?????? scrollYover-scroll的邊界限制時,值為true

?

protected boolean onRequestFocusInDescendants (int direction, Rect previouslyFocusedRect)

當在某個scroll view的子視圖中尋找焦點時,需要小心不能讓屏幕之外的組件得到焦點。這比缺省ViewGroup的實現(xiàn)代價更高,否則此行為被設為缺省。

參數(shù)

direction ???????? 值可以為FOCUS_UPFOCUS_DOWN,FOCUS_LEFT FOCUS_RIGHT

previouslyFocusedRect 能夠給出一個較好的提示的矩形(當前視圖的坐標系統(tǒng))表示焦點從哪里得來。如果沒有提示則為null。

返回值

??? ?????????????????? 是否取到了焦點。

?

protected void onSizeChanged (int w, int h, int oldw, int oldh)

View的大小改變時此方法被調(diào)用。如果View是剛剛被加入,則視之前的值為0。

參數(shù)

w ??? View的當前寬度

h ???? View的當前高度

oldw ?????? View大小改變之前的寬度

oldh ??????? View大小改變之前的高度

?

補充

文章精選

?Android HorizontalScrollview Example

?

?


?


Article précédent: Article suivant: