am 28a1e658: Merge "Add sample for new ContentLoadingProgressBar." into jb-mr2-ub-dev
* commit '28a1e658c9c028fb5ab239f439cf5b28cc2fe9e9': Add sample for new ContentLoadingProgressBar.
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -166,4 +167,6 @@
|
||||
|
||||
<string name="sliding_pane_layout_summary">This activity illustrates the use of sliding panes. The content pane may be slid to one side on narrow devices to reveal the left pane used to select content. Sliding panes can be used to fit a UI intended for wider screens in a smaller space. Tapping the Action Bar\'s Up button at the left side of the bar will navigate up in the hierarchy, represented by the left pane. If you rotate the device to landscape mode, on most devices you will see that both panes fit together side by side with no sliding necessary.</string>
|
||||
|
||||
<!-- ContentLoadingProgressBar -->
|
||||
<string name="content_loading_progress_bar">Widget/Content Loading Progress Bar</string>
|
||||
</resources>
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user