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

راهنمایی برای ریسایزکردن اتوماتیک تصاویر با استفاده از batchfile استاد

مدیریت گفتگو
حامی 12 سال پیش
آخرین تغییر: 12 سال پیش

سلام به همگی دوستان.کسی بلده  اون batch file استاد رو باید کجاهاش رو تغییر داد و کجاهاش رو نباید تغییر داد؟من فیلم اون قسمت رو دیدم...استاد خیلی کلی توضیح داد، من یکم دستکاریثش کردم اما جواب نمیده.میخوام برای xhdpi هم جواب بده.کسی بلده؟

سوال دوم: برای اینکه تصویر هم در حالت عمودی درست  نشون داده بشه و هم در حالت افقی باید چیکار کنم؟

نظرات

مجتبی یگانه 12 سال پیش
در مورد سوال اول چون من کار گرافیک برنامه ها رو انجام نمیدم ، تا به حال استفاده نکردم و تجربه ای ندارم ، اما برای سوال دوم به این لینک مراجعه کنید ، شما میتونید برنامه تون رو برای حالت های مختلف طراحی کنید مثلا برای ایکه حالت افقی از لایه های جدیدی پیروی کنه کافیه یه پوشه layout-land بسازید

پاسخ‌ها 2

Hossein Rezaei 12 سال پیش

برای سوال دوم هم اگر منظورت اینه که با تشخیص جهت چرخش صفحه، عکس ها درست نمایش داده بشن؛ باید برای حالت عمودی

و افقی دو عکس در نظر بگیری و  در پوشه های drawable کپی کنی. بعد عکس background رو با توجه به جهت چرخش صفحه عوض کنی.کد تشخیص جهت صفحه رو هم بصورت یک تابع واست نوشتم :

//----------------تشخیص جهت صفحه نمایش----------------

    protected String recognitionOriantation() {
        String orientation = "portrait";//بصورت پیشفرض عمودیه
        WindowManager windowManager = getWindowManager();
        Display display = windowManager.getDefaultDisplay();
        if (display.getWidth() > display.getHeight()) {//اگه عرض از طول بیشتر باشه
            orientation = "landscape";//افقیه
        }
        return orientation;//مقدار چرخش برگردونده میشه
    }

نظرات

حامی 12 سال پیش
سلام داداش.ممنونم.خیلی کامل توضیح دادی.تغییراتی که گفتی رو دادم.فقط یه سوال.برای اینکه عمل ریسایز رو انجام بده فقط روی فایل batch کلیک کنم خودش میسازه؟یا میریزشون جای دیگه باز باید برم از اونجا توی پوشه های hdpiوldpi و... کپیش کنم؟
Hossein Rezaei 12 سال پیش

واسه استفاده از این کد توو برنامت هم میتونی به این شکل عمل کنی:

       
ViewGroup linearLayoutForTest = (ViewGroup) findViewById(R.id.linearLayoutForTest );//این همون چیزی هست که قراره عکس پس زمینش عوض بشه،من لایه در نظر گرفتم،توو برنامه شما میتونه عکس باشه یا دکمه یا هر چیز دیگه...

linearLayoutForTest .setBackgroundResource(R.drawable.img1);//اینجا بصورت پیشفرض عکس حالت عمودی رو براش میزاری
orientation = recognitionOriantation();//استفاده از تابع بالایی برای تشخی جهت چرخش
if (orientation.contentEquals("landscape")) {//اگر حالت چرخش افقی بود linearLayoutForTest .setBackgroundResource(R.drawable.img2);//عکس حالت افقی رو براش ست میکنی }

امیدوارم جوابتو گرفته باشی :)

نظرات


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