بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

سفارشی سازی ProgressDialog (حل شد)

مدیریت گفتگو
sana ebadi 9 سال پیش
آخرین تغییر: 9 سال پیش

سلام بچه ها 

من توی برنامه از یه progressDialog(Horizonal)  استفاده کردم.

حالا خواستم کاستومش کنم . اون مدرسی که داره اموزشاشو میبینم (متریال دیزاین)  قشنگ هر کدی که زدن انجام شد 

و من همون کدا رو استفاده کردم ولی مثل اون نشد.میتونه از چی باشه ؟  minSdk = 15 من هست. هم Tittle ایشون راست چین هست هم پروگرس بار ارتفاعش زیاد نیست. در اخر هم کدای مربوط به فایل xmlرو میذارم.

این تصویر برنامه ی من

.

برنامه استاد

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:height="6dp">
<shape>

<corners
android:radius="4dp"/>
<solid
android:color="#9b9a9a"/>
</shape>
</item>
<item
android:height="6dp">
<clip>
<shape>
<corners
android:radius="4dp"/>
<gradient
android:startColor="#1fadc6"
android:endColor="#020e78"/>
</shape>

</clip>

</item>

</layer-list>
 

ممنون میشم راهنمایی کنید.

نظرات

FSR 9 سال پیش
به نظر من مهم اینکه شما مفهوم آموزش رو درک کردید اینکه حالا چرا ارتفاع این کوچیک بزرگ هست مهم نیست .
sana ebadi 9 سال پیش
بله مفهومو که متوجه شدم ولی من روی یه سری چیزا خیلی حساسم و اگه مشکلمو پیدا نکنم دس بردار نیستم و شده برای پیدا کردن جواب مسئله چنتا اموزش دیگه رو یاد میگیرم و از این بابت خیلی خوشحال میشم. ممنون برای روحیه دادن

پاسخ‌ها 2

مشاهده پاسخ صحیح
Reza 9 سال پیش

سلام

    من فکر میکنم اون کنترلی که این xml رو بهش اختصاص دادین چیزی غیر از لایه هست . لایه قرار بدین و فایل زیر رو به backGround اون بدید ( در ضمن کنترل شما چیز خاصی نداره که از layer-list استفاده کردین ، از shape استفاده کنین ) :

 

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <corners android:radius="4dip" />

    <size android:height="6dip" />

    <gradient
        android:endColor="#020e78"
        android:startColor="#1fadc6" />

</shape>
 

 

نظرات

Reza 9 سال پیش
متاسفانه ادیتور سایت مشکل داره ، و قابل کپی کردن نیست .
sana ebadi 9 سال پیش
ممنون از شما ولی این لایه ای که درست کردمو چجوری به progressست کنم ؟ از چه متد ی استفاده کنم ؟ من برای این فایل xmlاز این خط کد استفاده کردم progressDialog.setProgressDrawable(getResources().getDrawable(R.drawable.progress_shape)); الان از چی برای استفاده از این لایه استفاه کنم ؟
sana ebadi 9 سال پیش
ببخشید من تازه متوجه منظورتون شدم من که از خود کنترل توی لی اوت استفاده نکردم.!!! بله اونجوریشو من بلدم . من همشو از روی خود کلاس کد زدم.و اون فایل xmlرو باید lyer_list استفاده میکردم و clip برای نشون دادن تمام ایتم ها و گردینت رو خوب نشون بده. الان کدای فایل کلاسمو میذارم که متوجه شین. با تشکر
sana ebadi 9 سال پیش

 پاسخ صحیح

کد های کلاس اصلی 

   final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setProgress(0);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setTitle("در حال بار گذاری برنامه");
progressDialog.setMessage("لطفا صبر کنید ...");
progressDialog.setMax(100);
progressDialog.setProgressDrawable(getResources().getDrawable(R.drawable.progress_shape));
progressDialog.show();

Thread thread = new Thread(){

@Override
public void run() {
int jump = 0;
while (jump <100){
try {
sleep(400);
jump+=5;
progressDialog.setProgress(jump);
} catch (InterruptedException e) {
e.printStackTrace();
}

}
}
};

thread.start();

}

نظرات

Reza 9 سال پیش
آهان ببخشید ، حواسم نبود ، من با فرض کاستوم کنترل گفتم ، آخه خودم همیشه از کاستوم استفاده میکنم ، مثل روش آقای کاشی زاده در ساخت progressBar
Reza 9 سال پیش
اگه همین لایه xml منو به خطی که setProgressDrawable کردین ست کنین درست نمیشه ؟
sana ebadi 9 سال پیش
ممنون ن اصلا اون progressانجام نمیشه فقط برای clipاین کار انجام میشه
sana ebadi 9 سال پیش
اقا مشکل ارتفاع حل شد. مربوط به رزولوشن گوشی میشه. فقط میمونه راست چین شدن tittle که اونو خودم ردیف میکنم. خیلی ممنون
Reza 9 سال پیش
مگه شما واحد dip ندادین ؟ dip مستقل از پیکسل و رزولوشن هست .
sana ebadi 9 سال پیش
بله ولی سایز گوشیو منظورمه توی جنی موشنی که من اجرا میکردم سایز گوشی کوچیک بود ولی واس استاد بزرگ بود واسه هعمین واسه ایشون کم ارتفاع دیده میشد.رو گوشی خودم که ارتفاعش 5 اینچ هست تست کردم ن خیلی خوب بود پس مشکلمو متوجه شدم . برای راست چین شدن هم متوجه خواهم شد.و با تشکر از شما

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .