رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

قرار دادن ایمیج ویو در وسط صفحه


پست های پیشنهاد شده

سلام دوستان

من یک ایمیج ویو دارم که میخوام در وسط صفحه قرار بگیره (از نظر عرضی) نمیدونم باید چیکار کنم (الان به سمت چپ پسبیده)

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

این کدهای xml

[shcode=xml]

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity" >

   

        android:id="@+id/bg"

        android:layout_width="200dp"

        android:layout_height="200dp"

        android:layout_alignParentTop="true"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="51dp"

        android:scaleType="fitXY"

        android:src="@drawable/bg_main" />

[/shcode]

از android:lauoy_centerinparent="true" هم استفاده کردم اما جواب نداد

البته این رو هم بگم که توی کدجاوا برای ریسایز عکس متناسب با صفحه نمایش کدنوشتم میگم ممکنه از اون باشه

کدقسمت جاوا:

[shcode=java]public class MainActivity extends Activity {

    private ImageView bg;

   

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        bg=(ImageView)findViewById(R.id.bg);

        setsize();

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

   

   

   

    private void setsize(){

       

        DisplayMetrics dm=new DisplayMetrics();

       

        getWindowManager().getDefaultDisplay().getMetrics(dm);

       

        int h=dm.heightPixels;

        int w=dm.widthPixels;

       

        h=h-((h*20)/100);

        w=w-((w*20)/100);

       

       

        RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(w, h);

       

        bg.setLayoutParams(params);   

    }

}

[/shcode]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام طول و عرض imageview رو بذار رو wrap_content

وسط صفحه قرار بده !!

در ضمن کد نویسی برای اندازه ها نیاز نیست !!

کافیه سایز مناسب عکس رو داخل پوشه های xhdp , xxhdp و ... قرار بدی

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام طول و عرض imageview رو بذار رو wrap_content

وسط صفحه قرار بده !!

در ضمن کد نویسی برای اندازه ها نیاز نیست !!

کافیه سایز مناسب عکس رو داخل پوشه های xhdp , xxhdp و ... قرار بدی

موفق باشید

wrap_content هم قرار دادم عمل نکرد، چون در واقع هر چی که قرار بدم زمان اجرای کد طول و عرض با توجه به صفحه عوض میشه

دنبال روشی هستم که با حفظ همین کدنویسی ایمیج ویو به وسط صفحه بیاد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز باید layout gravity رو بزاری رو center

مرسی اما layout gravity رو برای relativelayout برابر center قرار دادم ولی هنوز هم مشکل پا برجاست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این رو تست کن :

[shcode=xml]

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity" >

 

   

        android:id="@+id/bg"

        android:layout_width="200dp"

        android:layout_height="200dp"

        android:layout_centerVertical="true"

        android:layout_centerHorizontal="true"

        android:scaleType="fitXY"

        android:src="@drawable/bg_main" />

[/shcode]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز باید layout gravity رو بزاری رو center

مرسی اما layout gravity رو برای relativelayout برابر center قرار دادم ولی هنوز هم مشکل پا برجاست

خب مجبور نیستی از ریلتیو لی اوت استفاده کنی.

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

یا از لینیر لی اوت اینم خیلی خوبه.

smile.gif

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این رو تست کن :

[shcode=xml]

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity" >

 

   

        android:id="@+id/bg"

        android:layout_width="200dp"

        android:layout_height="200dp"

        android:layout_centerVertical="true"

        android:layout_centerHorizontal="true"

        android:scaleType="fitXY"

        android:src="@drawable/bg_main" />

[/shcode]

تشکر اما این هم جواب نداد


دوست عزیز باید layout gravity رو بزاری رو center

مرسی اما layout gravity رو برای relativelayout برابر center قرار دادم ولی هنوز هم مشکل پا برجاست

خب مجبور نیستی از ریلتیو لی اوت استفاده کنی.

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

یا از لینیر لی اوت اینم خیلی خوبه.

smile.gif

مجبور نیستم اما به فکر حل مسئله هستم نه پاک کردن صورت مسئله

کما اینکه لینیر لیوت هم این مشکل رو داره و به همین صورته

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این رو تست کن :

[shcode=xml]

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity" >

 

   

        android:id="@+id/bg"

        android:layout_width="200dp"

        android:layout_height="200dp"

        android:layout_centerVertical="true"

        android:layout_centerHorizontal="true"

        android:scaleType="fitXY"

        android:src="@drawable/bg_main" />

[/shcode]

تشکر اما این هم جواب نداد


دوست عزیز باید layout gravity رو بزاری رو center

مرسی اما layout gravity رو برای relativelayout برابر center قرار دادم ولی هنوز هم مشکل پا برجاست

خب مجبور نیستی از ریلتیو لی اوت استفاده کنی.

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

یا از لینیر لی اوت اینم خیلی خوبه.

smile.gif

مجبور نیستم اما به فکر حل مسئله هستم نه پاک کردن صورت مسئله

کما اینکه لینیر لیوت هم این مشکل رو داره و به همین صورته

والا من که با هر لی اوتی امتحان کردم جواب داد دیگه نمی دونم چی بگم

:P

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز شما دارید از match_parent استفاده می کنید مطمئنید parent اصلی خود همین layout هستش ؟ اگر مطمئنید دیگه والا نمیدونم چی بگم ولی اکر مطمئن نیستید parent رو چک کنید چون قطعا مشکل از اونه

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

والا من که با هر لی اوتی امتحان کردم جواب داد دیگه نمی دونم چی بگم

:P

یعنی شما هم کد xml و java رو قرار دادید و عمل کرد؟

یعنی ممکنه مشکل از youwave باشه و روی گوشی درست جواب بده؟


دوست عزیز شما دارید از match_parent استفاده می کنید مطمئنید parent اصلی خود همین layout هستش ؟ اگر مطمئنید دیگه والا نمیدونم چی بگم ولی اکر مطمئن نیستید parent رو چک کنید چون قطعا مشکل از اونه

موفق باشید

دوست عزیز حقیقتا من مبتدی هستم از کجا باید چک کنم پرنت رو؟

چون توی پنل outline ایمیج ویو زیر مجموعه ی relative layout قرار گرفته به همین دلیل فکر کنم که پرنت ایمیج ویو ، ریلیتیو لی اوت باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز حقیقتا من مبتدی هستم از کجا باید چک کنم پرنت رو؟

چون توی پنل outline ایمیج ویو زیر مجموعه ی relative layout قرار گرفته به همین دلیل فکر کنم که پرنت ایمیج ویو ، ریلیتیو لی اوت باشه

parent همونطور که از اسمش معلومه میشه والد تمامی child ها. یعنی اگر این relative layoutشما درون چیزی قرار گرفته میشه child . با این تفاصیر اگر شما این relative layoutرو درون هیچ چیزی قرار ندادید و مستقیم ازش استفاده کردید یعنی parentهستش.

مثل layoutهای اکتیویتی ها. که همه شاخه اول همشون parentمیشه. اگر این relative layoutشما شاخه اصلی اکتیویتی هستش یعنی قطعا parentــه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز حقیقتا من مبتدی هستم از کجا باید چک کنم پرنت رو؟

چون توی پنل outline ایمیج ویو زیر مجموعه ی relative layout قرار گرفته به همین دلیل فکر کنم که پرنت ایمیج ویو ، ریلیتیو لی اوت باشه

parent همونطور که از اسمش معلومه میشه والد تمامی child ها. یعنی اگر این relative layoutشما درون چیزی قرار گرفته میشه child . با این تفاصیر اگر شما این relative layoutرو درون هیچ چیزی قرار ندادید و مستقیم ازش استفاده کردید یعنی parentهستش.

مثل layoutهای اکتیویتی ها. که همه شاخه اول همشون parentمیشه. اگر این relative layoutشما شاخه اصلی اکتیویتی هستش یعنی قطعا parentــه.

آهان متشکر

آره مطمئنم پرنتش همین لی اوت هستش

با این کدها توی LINEAR LAYOUT جواب میده و مشکلی نداره

[shcode=xml]

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:layout_gravity="center_vertical|center_horizontal"

    android:gravity="center_horizontal"

    android:orientation="vertical">

   

        android:id="@+id/row1"

        android:layout_width="100dp"

        android:layout_height="50dp"

        android:layout_gravity="center_horizontal"

        android:layout_marginTop="30dp"

        android:scaleType="fitXY"

        android:src="@drawable/bg_main" />

[/shcode]

با توجه به این فکر میکنم مشکل از android:layout_gravity="center_horizontal" باشه

چون این خاصیت توی RelativeLayout وجود نداره و نمیشه استفاده کرد ازش

با توجه به این یعنی راهی برای حل مشکل در Relative Layout وجود نداره؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید کدی که من در صفحه قبل به شما دادم کاملا درسته و باید کار می کرد. تصویر زیر رو ببینید :

[align=center]ezrtyg7zabwlt31faynf.jpg[/align]

همونطور که میبینید parent من RelativeLayout هستش و imageView من دقیقا در وسط صفحه قرار گرفته. دقیقا با همون کد.

دیگه نمیدونم مشکل از کجاست.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید کدی که من در صفحه قبل به شما دادم کاملا درسته و باید کار می کرد. تصویر زیر رو ببینید :

همونطور که میبینید parent من RelativeLayout هستش و imageView من دقیقا در وسط صفحه قرار گرفته. دقیقا با همون کد.

دیگه نمیدونم مشکل از کجاست.

توی محیط ایکلیپس که بله درسته

مشکل زمانیه که اجرا میشه

یعنی انگار بخاطر اون کدهای جاوایی که نوشتم هستش که مشکل درست میشه

اصولا margin ها هم از بین میرن زمانی که اجرا میشه برنامه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اها. من فکر کردم تو محیط این مشکل رو داری. خب ببین کدهاتو اگه میدونی مشکل داره بذارشون تا ببینمشون و اگر متوجه شدم مشکلت کجاست بهت راه درستشو نشون بدم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اها. من فکر کردم تو محیط این مشکل رو داری. خب ببین کدهاتو اگه میدونی مشکل داره بذارشون تا ببینمشون و اگر متوجه شدم مشکلت کجاست بهت راه درستشو نشون بدم

کدها رو توی پست اول گذاشتم (خواستم کپی کنم اینجا نمیدونم چرا نشد)

این کدها باعث شدن نه تنها این مشکل به وجود بیاد بلکه margin هایی هم که توی xml میدم موقع اجرا بی اثر میشن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اصلا چرا اونطوری میخواهید سایز تصاویر رو تغییر بدید.

کافیه بگید دقیقا چی نیاز دارید تا راه بهترشو بهتون بگیم. به نظرم اصولی نیست تصویر رو اونطوری تغییر بدید. چون کیفیت تصویر خیلی افت میکنه و مشکل کد شما هم دقیقا همون کدهاست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اصلا چرا اونطوری میخواهید سایز تصاویر رو تغییر بدید.

کافیه بگید دقیقا چی نیاز دارید تا راه بهترشو بهتون بگیم. به نظرم اصولی نیست تصویر رو اونطوری تغییر بدید. چون کیفیت تصویر خیلی افت میکنه و مشکل کد شما هم دقیقا همون کدهاست

نه خوب یه سایز بزرگ واسه تصویر انتخاب کردم که افت کیفیت نداشته باشم

هیچی من فقط میخوام سایز تصاویر و المان هام با توجه به گوشی های مختلف تنظیم بشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...