/*
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.view;
import android.content.ClipData;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Camera;
import android.graphics.Canvas;
import android.graphics.Insets;
import android.graphics.Interpolator;
import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.Point;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Region;
import android.graphics.Shader;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.hardware.display.DisplayManagerGlobal;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteException;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.FloatProperty;
import android.util.Log;
import android.util.Pool;
import android.util.Poolable;
import android.util.PoolableManager;
import android.util.Pools;
import android.util.Property;
import android.util.SparseArray;
import android.util.TypedValue;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.AccessibilityIterators.TextSegmentIterator;
import android.view.AccessibilityIterators.CharacterTextSegmentIterator;
import android.view.AccessibilityIterators.WordTextSegmentIterator;
import android.view.AccessibilityIterators.ParagraphTextSegmentIterator;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityEventSource;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeProvider;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Transformation;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputMethodManager;
import android.widget.ScrollBarDrawable;
import static android.os.Build.VERSION_CODES.*;
import static java.lang.Math.max;
import com.android.internal.R;
import com.android.internal.util.Predicate;
import com.android.internal.view.menu.MenuBuilder;
import com.google.android.collect.Lists;
import com.google.android.collect.Maps;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Locale;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicInteger;
/**
* <p>
* This class represents the basic building block for user interface components. A View
* occupies a rectangular area on the screen and is responsible for drawing and
* event handling. View is the base class for <em>widgets</em>, which are
* used to create interactive UI components (buttons, text fields, etc.). The
* {@link android.view.ViewGroup} subclass is the base class for <em>layouts</em>, which
* are invisible containers that hold other Views (or other ViewGroups) and define
* their layout properties.
* </p>
*
* <div class="special reference">
* <h3>Developer Guides</h3>
* <p>For information about using this class to develop your application's user interface,
* read the <a href="{@docRoot}guide/topics/ui/index.html">User Interface</a> developer guide.
* </div>
*
* <a name="Using"></a>
* <h3>Using Views</h3>
* <p>
* All of the views in a window are arranged in a single tree. You can add views
* either from code or by specifying a tree of views in one or more XML layout
* files. There are many specialized subclasses of views that act as controls or
* are capable of displaying text, images, or other content.
* </p>
* <p>
* Once you have created a tree of views, there are typically a few types of
* common operations you may wish to perform:
* <ul>
* <li><strong>Set properties:</strong> for example setting the text of a
* {@link android.widget.TextView}. The available properties and the methods
* that set them will vary among the different subclasses of views. Note that
* properties that are known at build time can be set in the XML layout
* files.</li>
* <li><strong>Set focus:</strong> The framework will handled moving focus in
* response to user input. To force focus to a specific view, call
* {@link #requestFocus}.</li>
* <li><strong>Set up listeners:</strong> Views allow clients to set listeners
* that will be notified when something interesting happens to the view. For
* example, all views will let you set a listener to be notified when the view
* gains or loses focus. You can register such a listener using
* {@link #setOnFocusChangeListener(android.view.View.OnFocusChangeListener)}.
* Other view subclasses offer more specialized listeners. For example, a Button
* exposes a listener to notify clients when the button is clicked.</li>
* <li><strong>Set visibility:</strong> You can hide or show views using
* {@link #setVisibility(int)}.</li>
* </ul>
* </p>
* <p><em>
* Note: The Android framework is responsible for measuring, laying out and
* drawing views. You should not call methods that perform these actions on
* views yourself unless you are actually implementing a
* {@link android.view.ViewGroup}.
* </em></p>
*
* <a name="Lifecycle"></a>
* <h3>Implementing a Custom View</h3>
*
* <p>
* To implement a custom view, you will usually begin by providing overrides for
* some of the standard methods that the framework calls on all views. You do
* not need to override all of these methods. In fact, you can start by just
* overriding {@link #onDraw(android.graphics.Canvas)}.
* <table border="2" width="85%" align="center" cellpadding="5">
* <thead>
* <tr><th>Category</th> <th>Methods</th> <th>Description</th></tr>
* </thead>
*
* <tbody>
* <tr>
* <td rowspan="2">Creation</td>
* <td>Constructors</td>
* <td>There is a form of the constructor that are called when the view
* is created from code and a form that is called when the view is
* inflated from a layout file. The second form should parse and apply
* any attributes defined in the layout file.
* </td>
* </tr>
* <tr>
* <td><code>{@link #onFinishInflate()}</code></td>
* <td>Called after a view and all of its children has been inflated
* from XML.</td>
* </tr>
*
* <tr>
* <td rowspan="3">Layout</td>
* <td><code>{@link #onMeasure(int, int)}</code></td>
* <td>Called to determine the size requirements for this view and all
* of its children.
* </td>
* </tr>
* <tr>
* <td><code>{@link #onLayout(boolean, int, int, int, int)}</code></td>
* <td>Called when this v
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
android 17 sdk source (7076个子文件)
View.java 693KB
ActivityManagerService.java 613KB
WindowManagerService.java 472KB
PackageManagerService.java 434KB
WebViewClassic.java 329KB
ContactsContract.java 326KB
TextView.java 319KB
Intent.java 276KB
BackupManagerService.java 259KB
AudioService.java 254KB
AbsListView.java 233KB
ViewGroup.java 230KB
Settings.java 225KB
ViewRootImpl.java 220KB
Activity.java 217KB
BatteryStatsImpl.java 210KB
PhoneWindowManager.java 208KB
ActivityThread.java 205KB
ActivityStack.java 203KB
InputMethodManagerService.java 177KB
WifiStateMachine.java 168KB
ActivityManagerNative.java 157KB
PackageParser.java 154KB
Camera.java 153KB
Editor.java 150KB
MediaArtistNativeHelper.java 142KB
RIL.java 139KB
ListView.java 138KB
MotionEvent.java 136KB
PhoneWindow.java 135KB
ConnectivityService.java 134KB
DatabaseMetaData.java 131KB
PackageManagerTests.java 130KB
WebViewCore.java 124KB
PackageManager.java 124KB
Settings.java 123KB
VideoEditorAPITest.java 120KB
KeyEvent.java 119KB
EditStyledText.java 117KB
BigDecimal.java 117KB
SyncManager.java 117KB
WifiP2pService.java 117KB
Context.java 117KB
Character.java 116KB
GLLogWrapper.java 112KB
ConcurrentSkipListMap.java 111KB
AccountManagerService.java 109KB
Arrays.java 108KB
AccessibilityManagerService.java 108KB
CalendarContract.java 105KB
ViewPager.java 105KB
Collections.java 104KB
DevicePolicyManagerService.java 103KB
PowerManagerService.java 102KB
RecurrenceProcessorTest.java 101KB
MountService.java 101KB
RecipientEditTextView.java 101KB
PagedView.java 100KB
GsmDataConnectionTracker.java 100KB
GridLayout.java 100KB
VCardBuilder.java 99KB
MediaPlayer.java 99KB
PhoneStatusBar.java 98KB
JunitTestCases.java 98KB
VCardEntry.java 97KB
GridLayout.java 97KB
NumberPicker.java 95KB
InputMethodService.java 95KB
AudioManager.java 94KB
DatabaseHelper.java 94KB
AccountManager.java 94KB
ObjectInputStream.java 92KB
Resources.java 92KB
SQLiteDatabase.java 91KB
TouchExplorer.java 91KB
PhoneNumberUtils.java 91KB
BatteryStats.java 90KB
WapPushTest.java 90KB
SyncStorageEngine.java 89KB
AbstractQueuedSynchronizer.java 89KB
Contacts.java 89KB
ActiveServices.java 88KB
DualPivotQuicksort.java 88KB
RemoteViews.java 87KB
Formatter.java 87KB
EncryptedPrivateKeyInfoTest.java 86KB
EncryptedPrivateKeyInfoData.java 86KB
MediaStore.java 85KB
NetworkPolicyManagerService.java 85KB
ForkJoinPool.java 84KB
BearerData.java 82KB
ResultSet.java 82KB
LocationManagerService.java 81KB
GridView.java 81KB
Paint.java 81KB
StrictMode.java 81KB
ContentResolver.java 80KB
Scanner.java 80KB
AndroidKeyStoreTest.java 79KB
AbstractQueuedLongSynchronizer.java 79KB
共 7076 条
- 1
- 2
- 3
- 4
- 5
- 6
- 71
资源评论
- 顾南衣2015-07-11我是直接把它放在ADT的文件夹下的=。=这种做法不行CodeYourBrother2015-08-01放在source下面啊 ,如果是eclipse可以直接关联,idea放在source下面,然后依赖一下就可以
- a56215002015-03-26挺好用的。谢谢啊
- james28872014-09-16eclipse可以导入
CodeYourBrother
- 粉丝: 19
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于 Java的班级管理系统课程设计
- 深入探索Suno AI:教程、元标签与案例分析.pdf
- 超市会员积分管理系统主要用于实现了企业管理数据统计等
- 基于 Java的班级管理系统
- MyBatis 动态 SQL:灵活而强大的查询构建器.pdf
- com.accordion.prettyo.apk
- 毕业设计:基于SSM的mysql-ssm软件bug管理系统(源码 + 数据库 + 说明文档)
- MTSQL8.0.35windows(64bit)-mysql-installer-community-8.0.35.0
- 人工智能引领音乐创作新时代之Suno AI
- Public-bicycle-usage-forecast-master.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功