当前位置: 首页 > news >正文

什么网站设计素材多广东省自然资源厅8号文

什么网站设计素材多,广东省自然资源厅8号文,网络科技有限公司有哪些岗位,著名优秀产品设计案例一、Custom View1、view的继承关系view继承关系.png2、Android 如何绘制试图层次当activity获取焦点时#xff0c;它必须提供layout层次的根节点#xff0c;然后android 系统开始视图的绘制过程。绘制是从layout的根节点开始的#xff0c;按照从上往下的顺序#xff0c;父元…一、Custom View1、view的继承关系view继承关系.png2、Android 如何绘制试图层次当activity获取焦点时它必须提供layout层次的根节点然后android 系统开始视图的绘制过程。绘制是从layout的根节点开始的按照从上往下的顺序父元素优先子元素。绘制的两个过程measuring pass:实现measure(int,int)方法顺序也是从上往下每个view保存它自己的测量值layout pass:实现layout(int,int,int,int)方法顺序从上往下在这个阶段每个layout manager负责他们各自所有子元素的位置通过上一步测量的值测量和绘制过程是交替进行的layout manager可能运行 measure pass 若干次。例如 linearlayout需要支持weight属性relativelayout需要测量子节点多次才能确定约束关系。view或activity可以再次触发测量和绘制过程。通过 requestLayout()在测量和布局计算完成后视图就开始绘制自己。这个操作通过invalidate()触发。3、view 截屏每个view都支持创建当前显示状态的图片。# Build the Drawing Cacheview.buildDrawingCache();# Create BitmapBitmap cache view.getDrawingCache();# Save BitmapsaveBitmap(cache);view.destroyDrawingCache();二、自定义view1、创建自定义view通过继承view或它的子类可以创建自定义view通过onDraw()方法绘制视图如果需要重新绘制调用invalidate()触发onDraw()如果定义自己的view,确保参考ViewConfiguration 类它包含了一些常亮定义2、测量必须调用 setMeasuredDimenstion(int,int)设置结果3、定义自定义 layout managers通过继承ViewGroup自定义layout manager 可以重写 onMeasure() 和 onLayout(),并且计算孩子元素的测量结果测量孩子元素的大小通过measureChildWithMargins();三、生命周期一个视图会在它依附到一个已依附到window的布局结构时显示。onAttachedToWindow() 当window可以时调用onDetachedFromWindow(),当视图从父元素中移除时调用(父元素必须依附到window)。例如当activity被回收(finish()方法被调用)或者视图在listview中被回收。该方法可以用来停止动画和清理资源四、定义自定义属性xmlns:toolshttp://schemas.android.com/toolsxmlns:customhttp://schemas.android.com/apk/res/com.vogella.android.view.compoundviewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalandroid:layout_widthmatch_parentandroid:layout_height?android:attr/listPreferredItemHeightcustom:titleTextBackground colorcustom:valueColorandroid:color/holo_green_light/package com.vogella.android.view.compoundview;import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;public class ColorOptionsView extends View {private View mValue;private ImageView mImage;public ColorOptionsView(Context context, AttributeSet attrs) {super(context, attrs);TypedArray a context.obtainStyledAttributes(attrs,R.styleable.Options, 0, 0);String titleText a.getString(R.styleable.Options_titleText);int valueColor a.getColor(R.styleable.Options_valueColor,android.R.color.holo_blue_light);a.recycle();// more stuff}}对于自定义属性中的format的值及其含义如下format属性值reference 、color、boolean、dimension、float、integer、string、fraction、enum、flagreference参考某一资源ID。(1)属性定义(2)属性使用android:layout_width 42dipandroid:layout_height 42dipandroid:background drawable/图片ID/color颜色值。(1)属性定义(2)属性使用android:layout_width 42dipandroid:layout_height 42dipandroid:textColor #00FF00/boolean布尔值。(1)属性定义(2)属性使用android:layout_width 42dipandroid:layout_height 42dipandroid:focusable true/dimension尺寸值。(1)属性定义(2)属性使用android:layout_width 42dipandroid:layout_height 42dip/float浮点值。(1)属性定义(2)属性使用android:fromAlpha 1.0android:toAlpha 0.7/integer整型值。(1)属性定义(2)属性使用xmlns:android http://schemas.android.com/apk/res/androidandroid:drawable drawable/图片IDandroid:pivotX 50%android:pivotY 50%android:framesCount 12android:frameDuration 100/string字符串。(1)属性定义(2)属性使用android:layout_width fill_parentandroid:layout_height fill_parentandroid:apiKey 0jOkQ80oD1JL9C6HAja99uGXCRiS2CGjKO_bc_g/fraction百分数。(1)属性定义(2)属性使用xmlns:android http://schemas.android.com/apk/res/androidandroid:interpolator anim/动画IDandroid:fromDegrees 0android:toDegrees 360android:pivotX 200%android:pivotY 300%android:duration 5000android:repeatMode restartandroid:repeatCount infinite/enum枚举值。(1)属性定义(2)属性使用xmlns:android http://schemas.android.com/apk/res/androidandroid:orientation verticalandroid:layout_width fill_parentandroid:layout_height fill_parentflag位或运算。(1)属性定义(2)属性使用android:name .StyleAndThemeActivityandroid:label string/app_nameandroid:windowSoftInputMode stateUnspecified |stateUnchanged | stateHidden特别要注意属性定义时可以指定多种类型值。(1)属性定义(2)属性使用android:layout_width 42dipandroid:layout_height 42dipandroid:background drawable/图片ID|#00FF00/下面说说AttributeSet与TypedArray在自定义控件中的作用AttributeSet的作用就是在控件进行初始化的时候解析布局文件中该控件的属性(key egbackground)与该值(value egdrawable/icon)的信息封装在AttributeSet中传递给该控件(View)的构造函数。对于非Android自带的属性在View类中处理时是无法识别的因此需要我们自己解析。所以这就要用到另外一个类TypedArray。在AttributeSet中我们有属性名称有属性值但是控件如何知道哪个属性代表什么意思呢这个工作就由TypedArray来做了。TypedArray对象封装了/values/attrs.xml中的styleable里定义的每个属性的类型信息通过TypedArray我们就可以知道AttributeSet中封装的值到底是干什么的了从而可以对这些数据进行应用。AttributeSet就相当于一盒糖TypedArray就相当于这盒糖上的标签说明告诉用户每个糖的口味等。这盒糖有什么口味是由用户自己的styleable文件里面的内容来决定的。五、练习在 res/values下创建文件attrs.xmlxmlns:toolshttp://schemas.android.com/toolsxmlns:customhttp://schemas.android.com/apk/res/com.vogella.android.view.compoundviewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalandroid:showDividersmiddleandroid:divider?android:attr/listDividertools:context.MainActivity android:idid/view1android:layout_widthmatch_parentandroid:layout_height?android:attr/listPreferredItemHeightandroid:background?android:selectableItemBackgroundandroid:onClickonClickedcustom:titleTextBackground colorcustom:valueColorandroid:color/holo_green_light/android:idid/view2android:layout_widthmatch_parentandroid:layout_height?android:attr/listPreferredItemHeightandroid:background?android:selectableItemBackgroundandroid:onClickonClickedcustom:titleTextForeground colorcustom:valueColorandroid:color/holo_orange_dark/创建布局view_color_options.xmlandroid:layout_width0dpandroid:layout_heightwrap_contentandroid:layout_weight1android:layout_centerVerticaltrueandroid:layout_marginLeft16dpandroid:textSize18sp/android:layout_width26dpandroid:layout_height26dpandroid:layout_centerVerticaltrueandroid:layout_marginLeft16dpandroid:layout_marginRight16dp/android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_marginRight16dpandroid:layout_centerVerticaltrueandroid:visibilitygone/package com.vogella.android.customview.compoundview;import com.vogella.android.view.compoundview.R;import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;public class ColorOptionsView extends LinearLayout {private View mValue;private ImageView mImage;public ColorOptionsView(Context context, AttributeSet attrs) {super(context, attrs);TypedArray a context.obtainStyledAttributes(attrs,R.styleable.ColorOptionsView, 0, 0);String titleText a.getString(R.styleable.ColorOptionsView_titleText);int valueColor a.getColor(R.styleable.ColorOptionsView_valueColor,android.R.color.holo_blue_light);a.recycle();setOrientation(LinearLayout.HORIZONTAL);setGravity(Gravity.CENTER_VERTICAL);LayoutInflater inflater (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);inflater.inflate(R.layout.view_color_options, this, true);TextView title (TextView) getChildAt(0);title.setText(titleText);mValue getChildAt(1);mValue.setBackgroundColor(valueColor);mImage (ImageView) getChildAt(2);}public ColorOptionsView(Context context) {this(context, null);}public void setValueColor(int color) {mValue.setBackgroundColor(color);}public void setImageVisible(boolean visible) {mImage.setVisibility(visible ? View.VISIBLE : View.GONE);}}package com.vogella.android.customview.compoundview;import com.vogella.android.view.compoundview.R;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}public void onClicked(View view) {String text view.getId() R.id.view1 ? Background : Foreground;Toast.makeText(this, text, Toast.LENGTH_SHORT).show();}}-----------------------华丽的分割线---------------------最后附上ViewConfiguration 类的源码import android.app.AppGlobals;import android.content.Context;import android.content.res.Configuration;import android.content.res.Resources;import android.graphics.Point;import android.os.RemoteException;import android.provider.Settings;import android.util.DisplayMetrics;import android.util.SparseArray;/*** 主要用来获取一些在UI中所使用到的标准常量像超时、尺寸、距离*/public class ViewConfiguration {/*** 定义了水平滚动条的宽度和垂直滚动条的高度单位是dip*/private static final int SCROLL_BAR_SIZE 10;/*** 滚动条褪去所需要经历的时间单位milliseconds*/private static final int SCROLL_BAR_FADE_DURATION 250;/*** 滚动条褪去之前的默认时间延迟单位milliseconds*/private static final int SCROLL_BAR_DEFAULT_DELAY 300;/*** 定义褪去边缘的长度单位dip*/private static final int FADING_EDGE_LENGTH 12;/*** 按下状态在子控件上的持续时间单位milliseconds*/private static final int PRESSED_STATE_DURATION 64;/*** 定义一个按下状态转变成长按状态所需要持续的时间单位milliseconds*/private static final int DEFAULT_LONG_PRESS_TIMEOUT 500;/*** 定义连续重复按键间的时间延迟单位milliseconds*/private static final int KEY_REPEAT_DELAY 50;/*** 如果用户需要触发全局对话框例如关机锁屏等需要按下按钮所持续的事件单位milliseconds*/private static final int GLOBAL_ACTIONS_KEY_TIMEOUT 500;/*** 定义一个触摸事件是点击还是滚动的事件间隔如果在这个事件内没有移动就认为这是一个点击否则就是滚动单位milliseconds*/private static final int TAP_TIMEOUT 180;/*** Defines the duration in milliseconds we will wait to see if a touch event* is a jump tap. If the user does not complete the jump tap within this interval, it is* considered to be a tap.*/private static final int JUMP_TAP_TIMEOUT 500;/*** 定义双击的时间间隔如果在这个时间内就认为是双击*/private static final int DOUBLE_TAP_TIMEOUT 300;/*** 定义双击最小的时间间隔*/private static final int DOUBLE_TAP_MIN_TIME 40;/*** 定义一个触摸板触摸到释放可认为是一个点击事件而不是一个触摸移动手势的最大时间* 也就是说在这个时间内进行一次触摸和释放操作就可以认为是一次点击事件单位milliseconds*/private static final int HOVER_TAP_TIMEOUT 150;/*** 定义一个触摸板在触摸释放之前可以移动的最大距离* 如果在这个距离之内就可以认为是一个点击事件否则就是一个移动手势单位pixels*/private static final int HOVER_TAP_SLOP 20;/*** 定义响应显示缩放控制的时间*/private static final int ZOOM_CONTROLS_TIMEOUT 3000;/*** Inset in dips to look for touchable content when the user touches the edge of the screen*/private static final int EDGE_SLOP 12;/*** 如果我们认为用户正在滚动这里定义一个触摸事件可以滚动的距离单位dips* 注意这个值在这里定义只是作为那些没有提供上下文Context来决定密度和配置相关值的应用程序的一个备用值。*/private static final int TOUCH_SLOP 8;/*** 定义双击事件之间可以移动的距离单位dips*/private static final int DOUBLE_TAP_TOUCH_SLOP TOUCH_SLOP;/*** 定义用户尝试翻页滚动的触摸移动距离单位dips** 注意这个值在这里定义只是作为那些没有提供上下文Context来决定密度和配置相关值的应用程序的一个备用值。**/private static final int PAGING_TOUCH_SLOP TOUCH_SLOP * 2;/*** 定义第一次点击和第二次点击可以认为是一次双击之间的距离。单位dips*/private static final int DOUBLE_TAP_SLOP 100;/*** Distance in dips a touch needs to be outside of a windows bounds for it to* count as outside for purposes of dismissing the window.*/private static final int WINDOW_TOUCH_SLOP 16;/*** 一个fling最小的速度单位dips/s*/private static final int MINIMUM_FLING_VELOCITY 50;/*** 一个fling最大的速度单位dips/s*/private static final int MAXIMUM_FLING_VELOCITY 8000;/*** 分发一个重复访问事件的延迟事件单位milliseconds*/private static final long SEND_RECURRING_ACCESSIBILITY_EVENTS_INTERVAL_MILLIS 100;/*** The maximum size of Views drawing cache, expressed in bytes. This size* should be at least equal to the size of the screen in ARGB888 format.*/Deprecatedprivate static final int MAXIMUM_DRAWING_CACHE_SIZE 480 * 800 * 4; // ARGB8888/*** 滚动和滑动的摩擦系数*/private static final float SCROLL_FRICTION 0.015f;/*** Max distance in dips to overscroll for edge effects*/private static final int OVERSCROLL_DISTANCE 0;/*** Max distance in dips to overfling for edge effects*/private static final int OVERFLING_DISTANCE 6;private final int mEdgeSlop;private final int mFadingEdgeLength;private final int mMinimumFlingVelocity;private final int mMaximumFlingVelocity;private final int mScrollbarSize;private final int mTouchSlop;private final int mDoubleTapTouchSlop;private final int mPagingTouchSlop;private final int mDoubleTapSlop;private final int mWindowTouchSlop;private final int mMaximumDrawingCacheSize;private final int mOverscrollDistance;private final int mOverflingDistance;private final boolean mFadingMarqueeEnabled;private boolean sHasPermanentMenuKey;private boolean sHasPermanentMenuKeySet;static final SparseArray sConfigurations new SparseArray(2);/*** 这个方法被废除了使用ViewConfiguration.get(Context)}替代*/Deprecatedpublic ViewConfiguration() {mEdgeSlop EDGE_SLOP;mFadingEdgeLength FADING_EDGE_LENGTH;mMinimumFlingVelocity MINIMUM_FLING_VELOCITY;mMaximumFlingVelocity MAXIMUM_FLING_VELOCITY;mScrollbarSize SCROLL_BAR_SIZE;mTouchSlop TOUCH_SLOP;mDoubleTapTouchSlop DOUBLE_TAP_TOUCH_SLOP;mPagingTouchSlop PAGING_TOUCH_SLOP;mDoubleTapSlop DOUBLE_TAP_SLOP;mWindowTouchSlop WINDOW_TOUCH_SLOP;//noinspection deprecationmMaximumDrawingCacheSize MAXIMUM_DRAWING_CACHE_SIZE;mOverscrollDistance OVERSCROLL_DISTANCE;mOverflingDistance OVERFLING_DISTANCE;mFadingMarqueeEnabled true;}/*** 使用给定的context来创建一个新的配置。这个配置依赖于context里面不同的参数例如显示的尺寸或者密度* param context 用来初始化这个view配置的应用上下文环境** see #get(android.content.Context)* see android.util.DisplayMetrics*/private ViewConfiguration(Context context) {final Resources res context.getResources();final DisplayMetrics metrics res.getDisplayMetrics();final Configuration config res.getConfiguration();final float density metrics.density;final float sizeAndDensity;if (config.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_XLARGE)) {sizeAndDensity density * 1.5f;} else {sizeAndDensity density;}mEdgeSlop (int) (sizeAndDensity * EDGE_SLOP 0.5f);mFadingEdgeLength (int) (sizeAndDensity * FADING_EDGE_LENGTH 0.5f);mMinimumFlingVelocity (int) (density * MINIMUM_FLING_VELOCITY 0.5f);mMaximumFlingVelocity (int) (density * MAXIMUM_FLING_VELOCITY 0.5f);mScrollbarSize (int) (density * SCROLL_BAR_SIZE 0.5f);mDoubleTapSlop (int) (sizeAndDensity * DOUBLE_TAP_SLOP 0.5f);mWindowTouchSlop (int) (sizeAndDensity * WINDOW_TOUCH_SLOP 0.5f);// Size of the screen in bytes, in ARGB_8888 formatfinal WindowManager win (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);final Display display win.getDefaultDisplay();final Point size new Point();display.getRealSize(size);mMaximumDrawingCacheSize 4 * size.x * size.y;mOverscrollDistance (int) (sizeAndDensity * OVERSCROLL_DISTANCE 0.5f);mOverflingDistance (int) (sizeAndDensity * OVERFLING_DISTANCE 0.5f);if (!sHasPermanentMenuKeySet) {IWindowManager wm WindowManagerGlobal.getWindowManagerService();try {sHasPermanentMenuKey !wm.hasNavigationBar();sHasPermanentMenuKeySet true;} catch (RemoteException ex) {sHasPermanentMenuKey false;}}mFadingMarqueeEnabled res.getBoolean(com.android.internal.R.bool.config_ui_enableFadingMarquee);mTouchSlop res.getDimensionPixelSize(com.android.internal.R.dimen.config_viewConfigurationTouchSlop);mPagingTouchSlop mTouchSlop * 2;mDoubleTapTouchSlop mTouchSlop;}/*** 跟上面一个函数一样只不过上面一个是创建一个ViewConfiguration对象这里是直接通过这个静态方法返回一个对象*/public static ViewConfiguration get(Context context) {final DisplayMetrics metrics context.getResources().getDisplayMetrics();final int density (int) (100.0f * metrics.density);ViewConfiguration configuration sConfigurations.get(density);if (configuration null) {configuration new ViewConfiguration(context);sConfigurations.put(density, configuration);}return configuration;}/*** return 获取水平滚动条的宽带和垂直滚动条的高度** 这个函数被废除使用getScaledScrollBarSize()来代替*/Deprecatedpublic static int getScrollBarSize() {return SCROLL_BAR_SIZE;}/*** return 获取水平滚动条的宽带和垂直滚动条的高度*/public int getScaledScrollBarSize() {return mScrollbarSize;}/*** return 滚动条褪去的持续时间*/public static int getScrollBarFadeDuration() {return SCROLL_BAR_FADE_DURATION;}/*** return 滚动条褪去的延迟时间*/public static int getScrollDefaultDelay() {return SCROLL_BAR_DEFAULT_DELAY;}/*** return 褪去边缘的长度** 这个方法已经废弃用getScaledFadingEdgeLength()替代.*/Deprecatedpublic static int getFadingEdgeLength() {return FADING_EDGE_LENGTH;}/*** return 褪去边缘的长度单位pixels*/public int getScaledFadingEdgeLength() {return mFadingEdgeLength;}/*** return 在子控件上按住状态的持续时间*/public static int getPressedStateDuration() {return PRESSED_STATE_DURATION;}/*** return 按住状态转变为长按状态需要的时间*/public static int getLongPressTimeout() {return AppGlobals.getIntCoreSetting(Settings.Secure.LONG_PRESS_TIMEOUT,DEFAULT_LONG_PRESS_TIMEOUT);}/*** return 重新按键时间*/public static int getKeyRepeatTimeout() {return getLongPressTimeout();}/*** return 重复按键延迟时间*/public static int getKeyRepeatDelay() {return KEY_REPEAT_DELAY;}/*** return 判断用户是单击还是滚动的时间在这个时间内没有移动则是单击否则是滚动*/public static int getTapTimeout() {return TAP_TIMEOUT;}/*** return the duration in milliseconds we will wait to see if a touch event* is a jump tap. If the user does not move within this interval, it is* considered to be a tap.*/public static int getJumpTapTimeout() {return JUMP_TAP_TIMEOUT;}/*** return 得到双击间隔时间在这个时间内则是双击否则就是单击*/public static int getDoubleTapTimeout() {return DOUBLE_TAP_TIMEOUT;}/*** return the minimum duration in milliseconds between the first taps* up event and the second taps down event for an interaction to be considered a* double-tap.** hide*/public static int getDoubleTapMinTime() {return DOUBLE_TAP_MIN_TIME;}/*** return the maximum duration in milliseconds between a touch pad* touch and release for a given touch to be considered a tap (click) as* opposed to a hover movement gesture.* hide*/public static int getHoverTapTimeout() {return HOVER_TAP_TIMEOUT;}/*** return the maximum distance in pixels that a touch pad touch can move* before being released for it to be considered a tap (click) as opposed* to a hover movement gesture.* hide*/public static int getHoverTapSlop() {return HOVER_TAP_SLOP;}/*** return Inset in dips to look for touchable content when the user touches the edge of the* screen** deprecated Use {link #getScaledEdgeSlop()} instead.*/Deprecatedpublic static int getEdgeSlop() {return EDGE_SLOP;}/*** return Inset in pixels to look for touchable content when the user touches the edge of the* screen*/public int getScaledEdgeSlop() {return mEdgeSlop;}/*** return Distance in dips a touch can wander before we think the user is scrolling** deprecated Use {link #getScaledTouchSlop()} instead.*/Deprecatedpublic static int getTouchSlop() {return TOUCH_SLOP;}/*** return Distance in pixels a touch can wander before we think the user is scrolling*/public int getScaledTouchSlop() {return mTouchSlop;}/*** return Distance in pixels the first touch can wander before we do not consider this a* potential double tap event* hide*/public int getScaledDoubleTapTouchSlop() {return mDoubleTapTouchSlop;}/*** return Distance in pixels a touch can wander before we think the user is scrolling a full* page*/public int getScaledPagingTouchSlop() {return mPagingTouchSlop;}/*** return Distance in dips between the first touch and second touch to still be* considered a double tap* deprecated Use {link #getScaledDoubleTapSlop()} instead.* hide The only client of this should be GestureDetector, which needs this* for clients that still use its deprecated constructor.*/Deprecatedpublic static int getDoubleTapSlop() {return DOUBLE_TAP_SLOP;}/*** return Distance in pixels between the first touch and second touch to still be* considered a double tap*/public int getScaledDoubleTapSlop() {return mDoubleTapSlop;}/*** Interval for dispatching a recurring accessibility event in milliseconds.* This interval guarantees that a recurring event will be send at most once* during the {link #getSendRecurringAccessibilityEventsInterval()} time frame.** return The delay in milliseconds.** hide*/public static long getSendRecurringAccessibilityEventsInterval() {return SEND_RECURRING_ACCESSIBILITY_EVENTS_INTERVAL_MILLIS;}/*** return Distance in dips a touch must be outside the bounds of a window for it* to be counted as outside the window for purposes of dismissing that* window.** deprecated Use {link #getScaledWindowTouchSlop()} instead.*/Deprecatedpublic static int getWindowTouchSlop() {return WINDOW_TOUCH_SLOP;}/*** return Distance in pixels a touch must be outside the bounds of a window for it* to be counted as outside the window for purposes of dismissing that window.*/public int getScaledWindowTouchSlop() {return mWindowTouchSlop;}/*** return Minimum velocity to initiate a fling, as measured in dips per second.** deprecated Use {link #getScaledMinimumFlingVelocity()} instead.*/Deprecatedpublic static int getMinimumFlingVelocity() {return MINIMUM_FLING_VELOCITY;}/*** return 得到滑动的最小速度, 以像素/每秒来进行计算*/public int getScaledMinimumFlingVelocity() {return mMinimumFlingVelocity;}/*** return Maximum velocity to initiate a fling, as measured in dips per second.** deprecated Use {link #getScaledMaximumFlingVelocity()} instead.*/Deprecatedpublic static int getMaximumFlingVelocity() {return MAXIMUM_FLING_VELOCITY;}/*** return 得到滑动的最大速度, 以像素/每秒来进行计算*/public int getScaledMaximumFlingVelocity() {return mMaximumFlingVelocity;}/*** The maximum drawing cache size expressed in bytes.** return the maximum size of Views drawing cache expressed in bytes** deprecated Use {link #getScaledMaximumDrawingCacheSize()} instead.*/Deprecatedpublic static int getMaximumDrawingCacheSize() {//noinspection deprecationreturn MAXIMUM_DRAWING_CACHE_SIZE;}/*** The maximum drawing cache size expressed in bytes.** return the maximum size of Views drawing cache expressed in bytes*/public int getScaledMaximumDrawingCacheSize() {return mMaximumDrawingCacheSize;}/*** return The maximum distance a View should overscroll by when showing edge effects (in* pixels).*/public int getScaledOverscrollDistance() {return mOverscrollDistance;}/*** return The maximum distance a View should overfling by when showing edge effects (in* pixels).*/public int getScaledOverflingDistance() {return mOverflingDistance;}/*** The amount of time that the zoom controls should be* displayed on the screen expressed in milliseconds.** return the time the zoom controls should be visible expressed* in milliseconds.*/public static long getZoomControlsTimeout() {return ZOOM_CONTROLS_TIMEOUT;}/*** The amount of time a user needs to press the relevant key to bring up* the global actions dialog.** return how long a user needs to press the relevant key to bring up* the global actions dialog.*/public static long getGlobalActionKeyTimeout() {return GLOBAL_ACTIONS_KEY_TIMEOUT;}/*** The amount of friction applied to scrolls and flings.** return A scalar dimensionless value representing the coefficient of* friction.*/public static float getScrollFriction() {return SCROLL_FRICTION;}/*** Report if the device has a permanent menu key available to the user.** As of Android 3.0, devices may not have a permanent menu key available.* Apps should use the action bar to present menu options to users.* However, there are some apps where the action bar is inappropriate* or undesirable. This method may be used to detect if a menu key is present.* If not, applications should provide another on-screen affordance to access* functionality.** return true if a permanent menu key is present, false otherwise.*/public boolean hasPermanentMenuKey() {return sHasPermanentMenuKey;}/*** hide* return Whether or not marquee should use fading edges.*/public boolean isFadingMarqueeEnabled() {return mFadingMarqueeEnabled;}}
http://www.pierceye.com/news/833660/

相关文章:

  • 做网上竞彩网站合法吗找工作用什么平台最好
  • 石家庄模板网站建网站要钱吗 优帮云
  • wap 网站 源码制作手游需要学什么软件
  • 自己做网站怎样挣钱个人网站模板 php
  • 新加坡建设局网站网站建设资料清单
  • 做网站用什么语言制作最安全?网站设计酷站
  • 河南省做网站的公司个人网站可以做电商吗
  • 专门做家教的网站网站开发大学
  • 资源专业网站优化排名wordpress 调用 置顶
  • 网站的建设维护网站换空间有影响吗
  • 兰州网站建设公南昌做网站的
  • 网站菜单样式襄樊公司网站建设
  • 学校网站建设平台wordpress 4.9.2
  • 开o2o网站需要什么手续企业微信开放平台
  • 网站开发 外文文献移动网站制作价格
  • 如何做网站的版块规划舆情监测
  • 怎么给公司注册网站二级域名的网站备案
  • 网站制作费用多少网页制作公司接单
  • ps做网站效果图房产网站cms
  • 在线教育网站建设公司互联网公司网站建设ppt模板下载
  • 泰国一家做男模的网站深圳福田有什么好玩的地方
  • 网站顶部图片素材个人备案号 可以做游戏网站吗
  • hk域名网站深圳龙华住房和建设局网站
  • 涞源网站建设搭建wordpress配置
  • 英文网站推广工作深圳制作网站有几家
  • 旅游推荐网站怎么做亚马逊关键词搜索工具
  • 网站建设技术部职责如何做公司网页制作
  • 广告公司怎么设置网站关键字网页鉴赏
  • 阳江网站开发网站设计 cdc
  • 密云建设银行招聘网站万网网站备份