/*
* 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 com.android.internal.R;
import com.android.internal.view.menu.MenuBuilder;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Canvas;
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.Region;
import android.graphics.Shader;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteException;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.util.AttributeSet;
import android.util.Config;
import android.util.EventLog;
import android.util.Log;
import android.util.Pool;
import android.util.Poolable;
import android.util.PoolableManager;
import android.util.Pools;
import android.util.SparseArray;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityEventSource;
import android.view.accessibility.AccessibilityManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputMethodManager;
import android.widget.ScrollBarDrawable;
import java.lang.ref.SoftReference;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.WeakHashMap;
/**
* <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">
* <p>For an introduction to using this class to develop your
* application's user interface, read the Developer Guide documentation on
* <strong><a href="{@docRoot}guide/topics/ui/index.html">User Interface</a></strong>. Special topics
* include:
* <br/><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout</a>
* <br/><a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a>
* <br/><a href="{@docRoot}guide/topics/ui/layout-objects.html">Common Layout Objects</a>
* <br/><a href="{@docRoot}guide/topics/ui/binding.html">Binding to Data with AdapterView</a>
* <br/><a href="{@docRoot}guide/topics/ui/ui-events.html">Handling UI Events</a>
* <br/><a href="{@docRoot}guide/topics/ui/themes.html">Applying Styles and Themes</a>
* <br/><a href="{@docRoot}guide/topics/ui/custom-components.html">Building Custom Components</a>
* <br/><a href="{@docRoot}guide/topics/ui/how-android-draws.html">How Android Draws Views</a>.
* </p>
* </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}. 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}.</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}</code></td>
* <td>Called to determine the size requirements for this view and all
* of its children.
* </td>
* </tr>
* <tr>
* <td><code>{@link #onLayout}</code></td>
* <td>Called when this view should assign a size and position to all
* of its children.
* </td>
* </tr>
* <tr>
* <td><code>{@link #onSizeChanged}</code></td>
* <td>Called when the size of this view has changed.
* </td>
* </tr>
*
* <tr>
* <td>Drawing</td>
* <td><code>{@link #onDraw}</code></td>
* <td>Called when the view should render its content.
* </td>
* </tr>
*
* <tr>
* <td rowspan="4">Event processi
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
2010/3/6 从 android.git.kernel.org 获取的官方代码,为保证压缩包体积小,尽可能地删除了不常用的内容,只有一部分开发时常用的 Java 接口。上传这个代码因为 android 用 repo (google 自己包装过的 git)很多时候有些不方便,但在 eclipse 调试时实在需要查看对应的源码,所以做了一个精简的压缩包。目前我没找到 eclipse 修改 android 源代码路径的方法,因此使用时需要手动解压缩到 $ANDROID_SDK/platforms/android-2.1/sources/ 目录下。
资源推荐
资源详情
资源评论
收起资源包目录
android java sources (4055个子文件)
IPackageManager.aidl 11KB
IBackupTransport.aidl 7KB
IWindowManager.aidl 6KB
IWindowSession.aidl 5KB
IBackupManager.aidl 5KB
IContentService.aidl 4KB
IAccountAuthenticator.aidl 3KB
IAccountManager.aidl 3KB
IBackupAgent.aidl 2KB
IWindow.aidl 2KB
IRestoreSession.aidl 2KB
IInputMethodManager.aidl 2KB
IBluetooth.aidl 2KB
IMountService.aidl 2KB
IInputContext.aidl 2KB
ITts.aidl 2KB
IBatteryStats.aidl 2KB
IRecognitionListener.aidl 2KB
IActivityController.aidl 2KB
ICheckinService.aidl 2KB
IWallpaperManager.aidl 2KB
IInputMethod.aidl 2KB
ISyncAdapter.aidl 2KB
IAppWidgetService.aidl 2KB
ISearchManager.aidl 2KB
IInputMethodSession.aidl 2KB
IRestoreObserver.aidl 2KB
INotificationManager.aidl 2KB
IConnectivityManager.aidl 1KB
IRecognitionService.aidl 1KB
IPowerManager.aidl 1KB
IBluetoothA2dp.aidl 1KB
IClipboard.aidl 1KB
IAccessibilityManager.aidl 1KB
ISyncContext.aidl 1KB
IBluetoothHeadset.aidl 1KB
IAlarmManager.aidl 1KB
IInputMethodCallback.aidl 1KB
IHardwareService.aidl 1KB
INetStatService.aidl 1KB
IIntentReceiver.aidl 1KB
IEventListener.aidl 1KB
IInputMethodClient.aidl 1KB
IUsageStats.aidl 1KB
IInstrumentationWatcher.aidl 1KB
IPackageStatsObserver.aidl 1KB
IInputContextCallback.aidl 1024B
IStatusBar.aidl 1018B
IAccessibilityServiceConnection.aidl 1017B
IWallpaperManagerCallback.aidl 1005B
IInputConnectionCallback.aidl 987B
IPackageDataObserver.aidl 979B
IThumbnailReceiver.aidl 975B
IAppWidgetHost.aidl 975B
IContentObserver.aidl 969B
IBluetoothPbap.aidl 968B
IAccountAuthenticatorResponse.aidl 943B
IAccountManagerResponse.aidl 922B
IWallpaperService.aidl 916B
IParentalControlCallback.aidl 908B
IWallpaperEngine.aidl 900B
ISensorService.aidl 898B
IWallpaperConnection.aidl 898B
IAccessibilityManagerClient.aidl 891B
IApplicationToken.aidl 882B
IIntentSender.aidl 869B
IActivityWatcher.aidl 867B
IServiceConnection.aidl 860B
IResultReceiver.aidl 853B
IActivityPendingResult.aidl 850B
ITtsCallback.aidl 850B
IPackageInstallObserver.aidl 837B
IPackageDeleteObserver.aidl 818B
IPermissionController.aidl 815B
IMessenger.aidl 814B
IOnKeyguardExitResult.aidl 808B
ITransientNotification.aidl 803B
IBluetoothCallback.aidl 803B
IRotationWatcher.aidl 801B
WindowManager.aidl 744B
ISearchManagerCallback.aidl 744B
InstrumentationInfo.aidl 742B
PermissionGroupInfo.aidl 742B
ISyncStatusObserver.aidl 742B
ParcelFileDescriptor.aidl 740B
Configuration.aidl 738B
ApplicationInfo.aidl 738B
PermissionInfo.aidl 737B
PkgUsageStats.aidl 737B
ProviderInfo.aidl 735B
PackageStats.aidl 735B
ActivityInfo.aidl 735B
ResolveInfo.aidl 734B
PackageInfo.aidl 734B
ServiceInfo.aidl 734B
ResultReceiver.aidl 734B
Signature.aidl 732B
PendingIntent.aidl 725B
MotionEvent.aidl 723B
Entity.aidl 722B
共 4055 条
- 1
- 2
- 3
- 4
- 5
- 6
- 41
资源评论
mhoudg
- 粉丝: 5
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功