diff options
| author | Mindy DelliCarpini <mindyp@google.com> | 2013-08-06 09:43:54 -0700 |
|---|---|---|
| committer | Mindy DelliCarpini <mindyp@google.com> | 2013-08-06 09:45:39 -0700 |
| commit | e1d5cb5997dad4bcc210a3505f8c8a5a2e884a37 (patch) | |
| tree | a9557da7be0dea87b7fe54bab7351a899edf6c65 /samples/Support4Demos | |
| parent | b5c9445bd2c256d587fc978ff860ae5ed1aeed2a (diff) | |
| parent | 73a124536ad68f6029a0308b192e3453f63fe5ea (diff) | |
| download | android_development-e1d5cb5997dad4bcc210a3505f8c8a5a2e884a37.tar.gz android_development-e1d5cb5997dad4bcc210a3505f8c8a5a2e884a37.tar.bz2 android_development-e1d5cb5997dad4bcc210a3505f8c8a5a2e884a37.zip | |
resolved conflicts for merge of 73a12453 to master
Change-Id: Ib6944821270b6a76272625748190926adcad8eda
Diffstat (limited to 'samples/Support4Demos')
4 files changed, 176 insertions, 0 deletions
diff --git a/samples/Support4Demos/AndroidManifest.xml b/samples/Support4Demos/AndroidManifest.xml index 2d7f73253..ddf6e4eb9 100644 --- a/samples/Support4Demos/AndroidManifest.xml +++ b/samples/Support4Demos/AndroidManifest.xml @@ -304,6 +304,14 @@ </intent-filter> </activity> + <activity android:name=".widget.ContentLoadingProgressBarActivity" + android:label="@string/content_loading_progress_bar"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="com.example.android.supportv4.SUPPORT4_SAMPLE_CODE" /> + </intent-filter> + </activity> + <activity android:name=".widget.SlidingPaneLayoutActivity" android:label="@string/sliding_pane_layout_support"> <intent-filter> diff --git a/samples/Support4Demos/res/layout/content_loading_progressbar.xml b/samples/Support4Demos/res/layout/content_loading_progressbar.xml new file mode 100644 index 000000000..7e7d9e020 --- /dev/null +++ b/samples/Support4Demos/res/layout/content_loading_progressbar.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2013 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. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <android.support.v4.widget.ContentLoadingProgressBar + android:id="@+id/progressbar" + style="?android:attr/progressBarStyleLarge" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:visibility="gone" /> + + <Button android:id="@+id/show" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/show" /> + + <Button android:id="@+id/hide" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/hide" /> + + <TextView android:id="@+id/show_text" + android:layout_width="wrap_content" + android:layout_height="wrap_content"/> + + <TextView android:id="@+id/show_text_done" + android:layout_width="wrap_content" + android:layout_height="wrap_content"/> + + <TextView android:id="@+id/hide_text" + android:layout_width="wrap_content" + android:layout_height="wrap_content"/> + + <TextView android:id="@+id/hide_text_done" + android:layout_width="wrap_content" + android:layout_height="wrap_content"/> + +</LinearLayout> diff --git a/samples/Support4Demos/res/values/strings.xml b/samples/Support4Demos/res/values/strings.xml index afddd7f1c..f1ff4b65f 100644 --- a/samples/Support4Demos/res/values/strings.xml +++ b/samples/Support4Demos/res/values/strings.xml @@ -54,6 +54,7 @@ <string name="fragment_dialog_support">Fragment/Dialog</string> <string name="show">Show</string> + <string name="hide">Hide</string> <string name="fragment_dialog_or_activity_support">Fragment/Dialog or Activity</string> <string name="fragment_dialog_or_activity_msg">Demonstrates the same fragment @@ -172,4 +173,7 @@ <string name="sample_item_a">Sample item A</string> <string name="sample_item_b">Sample item B</string> + <!-- ContentLoadingProgressBar --> + <string name="content_loading_progress_bar">Widget/Content Loading Progress Bar</string> + </resources> diff --git a/samples/Support4Demos/src/com/example/android/supportv4/widget/ContentLoadingProgressBarActivity.java b/samples/Support4Demos/src/com/example/android/supportv4/widget/ContentLoadingProgressBarActivity.java new file mode 100644 index 000000000..08c14dc99 --- /dev/null +++ b/samples/Support4Demos/src/com/example/android/supportv4/widget/ContentLoadingProgressBarActivity.java @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2013 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 com.example.android.supportv4.widget; + +import android.app.Activity; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.TextView; +import android.os.Bundle; +import android.os.Handler; +import android.support.v4.widget.ContentLoadingProgressBar; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewTreeObserver; +import android.view.Window; + +import com.example.android.supportv4.R; + +/** + * Demonstrates how to use the ContentLoadingProgressBar. By default, the + * developer should start the ContentLoadingProgressBar with visibility of + * "gone" or "invisible". The ContentLoadingProgressBar will be shown after the + * default delay for at least a minimum time regardless of when the "hide" + * button is pressed. + */ +public class ContentLoadingProgressBarActivity extends Activity implements + OnClickListener, ViewTreeObserver.OnGlobalLayoutListener { + + private Button mShowButton; + private Button mHideButton; + private ContentLoadingProgressBar mBar; + private long mShowTime; + private long mHideTime; + private TextView mShowText; + private TextView mShowTextDone; + private TextView mHideText; + private TextView mHideTextDone; + private int mLastVisibility; + private long mVisibilityChangedTime; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.content_loading_progressbar); + + mBar = (ContentLoadingProgressBar)findViewById(R.id.progressbar); + mShowButton = (Button)findViewById(R.id.show); + mShowButton.setOnClickListener(this); + mHideButton = (Button)findViewById(R.id.hide); + mHideButton.setOnClickListener(this); + + mShowText = (TextView)findViewById(R.id.show_text); + mShowTextDone = (TextView)findViewById(R.id.show_text_done); + mHideText = (TextView)findViewById(R.id.hide_text); + mHideTextDone = (TextView)findViewById(R.id.hide_text_done); + + mLastVisibility = mBar.getVisibility(); + + mBar.getViewTreeObserver().addOnGlobalLayoutListener(this); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.show: + mBar.show(); + mShowTime = System.currentTimeMillis(); + mShowText.setText("Show clicked at " + mShowTime); + break; + case R.id.hide: + mBar.hide(); + mHideTime = System.currentTimeMillis(); + mHideText.setText("Hide clicked at " + mHideTime); + break; + } + } + + @Override + public void onGlobalLayout() { + final int visibility = mBar.getVisibility(); + + if (mLastVisibility != visibility) { + if (visibility == View.VISIBLE) { + mVisibilityChangedTime = System.currentTimeMillis(); + mShowTextDone.setText("Shown at " + + (mVisibilityChangedTime - mShowTime)); + } else { + mHideTextDone.setText("Hidden after " + + (System.currentTimeMillis() - mVisibilityChangedTime)); + } + mLastVisibility = mBar.getVisibility(); + } + } +} |
