PDA

View Full Version : سایز صفحه نمایش



zarabela
شنبه 20 تیر 1394, 00:35 صبح
سلام دوستان
میخواستم بدونم به جز اینکه عکس رو در سایزهای مختلف داخل پوشه های mdpi , hdpi ,... قرار بدیم چه راهی هست که یه layout طراحی کنیم به شکلی که توی هر سایزی از صفحه نمایشا صحیح نشون داده بشه؟
درباره fragment هم تا جایی که خوندم برای این کار فکر نمیکنم مناسب باشه
لطفا راهنماییم کنید:لبخندساده:

zarabela
شنبه 20 تیر 1394, 14:43 عصر
دوستان سوالم خیلی ساده بود و فقط راه کار میخوام نه کد یا نمونه برنامه:لبخندساده:

nima047
دوشنبه 05 مرداد 1394, 21:06 عصر
منم تازه واردم و زیاد بلد نیستم
ولی خب مثلا میتونید بجای استفاده از پیکسل از dp برای اندازه ی View هاتون استفاده کنید
همچنین از صفت !weight مثلا اگه 3 تا کامپوننت توی یک layout خطی باشه! به دوتا از کاپوننت ها مقدار android:weight=1 و به سومی مقدار 2 رو بدین ! اینجوری میشه که توی هر صفحه نمایش با هر اندازه اون دوتا که مقدارش یک هست 25 درصد فضا و اون که مقدارش 2 هست پنجاه درصد(نصف) صفحه رو پر میکنه!

gjmkdyttyhujk
دوشنبه 05 مرداد 1394, 21:20 عصر
سعی کنید لایوتتون رو بدون وابستگی به صفحه خاصی طراحی کنید. البته طوری طراحی کنید که با صفحه های پراستفاده هم خوانی بیشتری باشه. این بهترین جواب می تونه باشه.:لبخندساده:

ali.s7092
سه شنبه 06 مرداد 1394, 15:53 عصر
به نظر من بهترین راه استفاده از کد هست
یعنی ابعاد صفحه نمایش را بگیرید و با توجه به آن طول و عرض کامپوننت را تعیین نمایید

H120:D
سه شنبه 17 شهریور 1394, 12:07 عصر
به نظر من بهترین راه استفاده از کد هست
یعنی ابعاد صفحه نمایش را بگیرید و با توجه به آن طول و عرض کامپوننت را تعیین نمایید
چجوری ؟؟
من اون کدی که آقا نیما هم گفت زدم اررور داد !

android:weight=1

ali.s7092
سه شنبه 17 شهریور 1394, 22:29 عصر
به عنوان مثال :


q1=(ImageView) findViewById(R.id.main_pic1);
q2=(ImageView) findViewById(R.id.main_pic2);
q3=(ImageView) findViewById(R.id.main_pic3);
q4=(ImageView) findViewById(R.id.main_pic4);
q5=(ImageView) findViewById(R.id.main_pic5);
q6=(ImageView) findViewById(R.id.main_pic6);

ll2=(LinearLayout) findViewById(R.id.ll2);
ll3=(LinearLayout) findViewById(R.id.ll3);
ll4=(LinearLayout) findViewById(R.id.ll4);


DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics( dm);

int h=dm.heightPixels;
int w=dm.widthPixels;
int h1=dm.heightPixels;
int w1=dm.widthPixels;


h=h-((h*77)/100);
w=w-((w*51)/100);

h1=((h1*28)/100);


LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(w,h);
LinearLayout.LayoutParams params1=new LinearLayout.LayoutParams(w1,h1);


q1.setLayoutParams(params);
q2.setLayoutParams(params);
q3.setLayoutParams(params);
q4.setLayoutParams(params);
q5.setLayoutParams(params);
q6.setLayoutParams(params);
ll2.setLayoutParams(params1);
ll3.setLayoutParams(params1);
ll4.setLayoutParams(params1);





این کد را از یکی از برنامه هایم کپی کردم.
که دارای 3 layout که در هر لیوت 2 تصویر وجود دارد

H120:D
پنج شنبه 19 شهریور 1394, 18:38 عصر
به عنوان مثال :


q1=(ImageView) findViewById(R.id.main_pic1);
q2=(ImageView) findViewById(R.id.main_pic2);
q3=(ImageView) findViewById(R.id.main_pic3);
q4=(ImageView) findViewById(R.id.main_pic4);
q5=(ImageView) findViewById(R.id.main_pic5);
q6=(ImageView) findViewById(R.id.main_pic6);

ll2=(LinearLayout) findViewById(R.id.ll2);
ll3=(LinearLayout) findViewById(R.id.ll3);
ll4=(LinearLayout) findViewById(R.id.ll4);


DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics( dm);

int h=dm.heightPixels;
int w=dm.widthPixels;
int h1=dm.heightPixels;
int w1=dm.widthPixels;


h=h-((h*77)/100);
w=w-((w*51)/100);

h1=((h1*28)/100);


LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(w,h);
LinearLayout.LayoutParams params1=new LinearLayout.LayoutParams(w1,h1);


q1.setLayoutParams(params);
q2.setLayoutParams(params);
q3.setLayoutParams(params);
q4.setLayoutParams(params);
q5.setLayoutParams(params);
q6.setLayoutParams(params);
ll2.setLayoutParams(params1);
ll3.setLayoutParams(params1);
ll4.setLayoutParams(params1);





این کد را از یکی از برنامه هایم کپی کردم.
که دارای 3 layout که در هر لیوت 2 تصویر وجود دارد


واقعا ممنون کارم راه افتاد فقط الان من میخوام مساوی اندازه سه تا دکمه جا بگیره چی ؟؟
135153