Button.java revision 9066cfe9886ac131c34d59ed0e2d287b0e3c0087
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License.
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.widget;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Context;
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.AttributeSet;
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Log;
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.MotionEvent;
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.KeyEvent;
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.RemoteViews.RemoteView;
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>Button</code> represents a push-button widget. Push-buttons can be
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * pressed, or clicked, by the user to perform an action. A typical use of a
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * push-button in an activity would be the following:
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </p>
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <pre class="prettyprint">
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * public class MyActivity extends Activity {
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *     protected void onCreate(Bundle icicle) {
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *         super.onCreate(icicle);
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *         setContentView(R.layout.content_layout_id);
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *         final Button button = (Button) findViewById(R.id.button_id);
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *         button.setOnClickListener(new View.OnClickListener() {
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *             public void onClick(View v) {
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *                 // Perform action on click
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *             }
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *         });
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *     }
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * }
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </pre>
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p><strong>XML attributes</strong></p>
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See {@link android.R.styleable#Button Button Attributes},
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.styleable#TextView TextView Attributes},
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.styleable#View View Attributes}
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </p>
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project@RemoteView
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class Button extends TextView {
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public Button(Context context) {
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        this(context, null);
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public Button(Context context, AttributeSet attrs) {
659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        this(context, attrs, com.android.internal.R.attr.buttonStyle);
669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public Button(Context context, AttributeSet attrs, int defStyle) {
699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        super(context, attrs, defStyle);
709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
72