반응형
ProgressDialog 회전 원
추가 프레임없이 이와 같은 ProgressDialog를 구현하고 싶습니다. :
그러나 나는 이것을 얻고있다. 어떻게 바꿀 수 있습니까?
다음은 ProgressDialog에 대한 코드입니다. 미리 감사드립니다
private ProgressDialog mProgressDialog;
............
mProgressDialog = new ProgressDialog(activity);
mProgressDialog.setIndeterminate(false);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
............
public class ProgressTask extends AsyncTask <Fragment,Void,Fragment>{
@Override
protected void onPreExecute(){
mProgressDialog.show();
}
@Override
protected Fragment doInBackground(Fragment... arg0) {
//my stuff is here
}
@Override
protected void onPostExecute(Fragment result) {
mProgressDialog.dismiss();
}
}
레이아웃 에서 ProgressDialog
로 변경하십시오 ProgressBar
.
res / layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
//Your content here
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:visibility="gone"
android:indeterminateDrawable="@drawable/progress" >
</ProgressBar>
</RelativeLayout>
src / yourPackage / YourActivity.java
public class YourActivity extends Activity{
private ProgressBar bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
bar = (ProgressBar) this.findViewById(R.id.progressBar);
new ProgressTask().execute();
}
private class ProgressTask extends AsyncTask <Void,Void,Void>{
@Override
protected void onPreExecute(){
bar.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... arg0) {
//my stuff is here
}
@Override
protected void onPostExecute(Void result) {
bar.setVisibility(View.GONE);
}
}
}
drawable / progress.xml 이것은 ProgressBar
기본 색상을 변경하는 데 사용 하는 사용자 지정 입니다.
<?xml version="1.0" encoding="utf-8"?>
<!--
Duration = 1 means that one rotation will be done in 1 second. leave it.
If you want to speed up the rotation, increase duration value.
in example 1080 shows three times faster revolution.
make the value multiply of 360, or the ring animates clunky
-->
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1"
android:toDegrees="360" >
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false" >
<size
android:height="48dip"
android:width="48dip" />
<gradient
android:centerColor="@color/color_preloader_center"
android:centerY="0.50"
android:endColor="@color/color_preloader_end"
android:startColor="@color/color_preloader_start"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
휠만 표시하려면이 XML을 넣으십시오.
<ProgressBar
android:indeterminate="true"
android:id="@+id/marker_progress"
style="?android:attr/progressBarStyle"
android:layout_height="50dp" />
View.INVISIBLE 및 View.VISIBLE을 사용하고 있었고 ProgressBar가 지속적으로 표시되는 대신 천천히 깜박이고 View.GONE 및 View.VISIBLE로 전환되었으며 완벽하게 작동합니다.
이 시도.........
ProgressDialog pd1;
pd1=new ProgressDialog(<current context reference here>);
pd1.setMessage("Loading....");
pd1.setCancelable(false);
pd1.show();
기각하려면 ....
if(pd1!=null)
pd1.dismiss();
참조 URL : https://stackoverflow.com/questions/15585749/progressdialog-spinning-circle
반응형
'your programing' 카테고리의 다른 글
node-postgres :“WHERE col IN ( (0) | 2021.01.05 |
---|---|
어떤 함수가 더 빠르게 증가합니까, 지수 또는 계승입니까? (0) | 2021.01.05 |
예제 별 RabbitMQ : 다중 스레드, 채널 및 대기열 (0) | 2021.01.05 |
Node.js와 Express 4에서 경로를 분리하는 방법은 무엇입니까? (0) | 2021.01.05 |
자동 완성 구현 (0) | 2021.01.05 |