متاسفانه ادیتور سایت مشکل داره ، و قابل کپی کردن نیست .
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
سفارشی سازی ProgressDialog (حل شد)
مدیریت گفتگو
آخرین تغییر: 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>
ممنون میشم راهنمایی کنید.
پاسخها 2
مشاهده پاسخ صحیحسلام
من فکر میکنم اون کنترلی که این 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>

نظرات
ممنون از شما
ولی این لایه ای که درست کردمو چجوری به progressست کنم ؟
از چه متد ی استفاده کنم ؟
من برای این فایل xmlاز این خط کد استفاده کردم
progressDialog.setProgressDrawable(getResources().getDrawable(R.drawable.progress_shape));
الان از چی برای استفاده از این لایه استفاه کنم ؟ببخشید من تازه متوجه منظورتون شدم
من که از خود کنترل توی لی اوت استفاده نکردم.!!!
بله اونجوریشو من بلدم .
من همشو از روی خود کلاس کد زدم.و اون فایل xmlرو باید lyer_list استفاده میکردم و clip برای نشون دادن تمام ایتم ها و گردینت رو خوب نشون بده.
الان کدای فایل کلاسمو میذارم که متوجه شین. با تشکر
پاسخ صحیح
کد های کلاس اصلی
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();
}
نظرات
آهان ببخشید ، حواسم نبود ، من با فرض کاستوم کنترل گفتم ، آخه خودم همیشه از کاستوم استفاده میکنم ، مثل روش آقای کاشی زاده در ساخت progressBar
اگه همین لایه xml منو به خطی که setProgressDrawable کردین ست کنین درست نمیشه ؟
ممنون ن اصلا اون progressانجام نمیشه
فقط برای clipاین کار انجام میشه
اقا مشکل ارتفاع حل شد.
مربوط به رزولوشن گوشی میشه. فقط میمونه راست چین شدن tittle که اونو خودم ردیف میکنم. خیلی ممنون
مگه شما واحد dip ندادین ؟ dip مستقل از پیکسل و رزولوشن هست .
بله ولی سایز گوشیو منظورمه
توی جنی موشنی که من اجرا میکردم سایز گوشی کوچیک بود ولی واس استاد بزرگ بود واسه هعمین واسه ایشون کم ارتفاع دیده میشد.رو گوشی خودم که ارتفاعش 5 اینچ هست تست کردم ن خیلی خوب بود پس مشکلمو متوجه شدم . برای راست چین شدن هم متوجه خواهم شد.و با تشکر از شما
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات