কোনও ক্রিয়াকলাপে পূর্ণ পর্দার পটভূমি চিত্র


145

আমি অনেকগুলি অ্যাপ্লিকেশন দেখি যা ব্যাকগ্রাউন্ড হিসাবে একটি পূর্ণ-স্ক্রিন চিত্র ব্যবহার করে। এটি একটি উদাহরণ:

পূর্ণ পর্দার পটভূমি চিত্র

আমি এটি একটি প্রকল্পে ব্যবহার করতে চাই, এটি করার জন্য আমি এ পর্যন্ত সবচেয়ে ভাল উপায়টি খুঁজে পেয়েছি হ'ল বড় আকারের একটি চিত্র ব্যবহার করা, এটিতে রাখা ImageViewএবং android: adjustViewBounds="true"মার্জিনগুলি সামঞ্জস্য করার জন্য ব্যবহার করা

সমস্যাটি হ'ল যদি খুব উচ্চ রেজোলিউশন সহ কোনও স্ক্রিন হয় তবে চিত্রটি ছোট হয়।

আরেকটি বিকল্প আমি চিন্তা একটি ইমেজ ব্যবহার করা FrameLayoutসঙ্গে, match_parentমধ্যে widthএবং heightএই ছবিটি প্রসারিত ... পটভূমি হিসেবে, কিন্তু আমি মনে করি ফলাফলের খুব ভাল নয়।

তুমি এটা কি ভাবে করবে?


3
এটি ব্যাকগ্রাউন্ডে কাজ করে বিশ্বাস করবেন না, তবে এটি চিত্রগুলিতে কাজ করা উচিত। android:scaleType="centerCrop"
EGHDK

উত্তর:


223

এটি করার বিভিন্ন উপায় রয়েছে।

বিকল্প 1:

বিভিন্ন ডিপিআইয়ের জন্য বিভিন্ন নিখুঁত চিত্র তৈরি করুন এবং এগুলিকে সম্পর্কিত অঙ্কনযোগ্য ফোল্ডারে রাখুন। তারপরে সেট করুন

android:background="@drawable/your_image"

বিকল্প 2:

একটি একক বৃহত চিত্র যুক্ত করুন। ফ্রেমলিআউট ব্যবহার করুন। প্রথম শিশু হিসাবে একটি অ্যাড ImageView। আপনার ইমেজভিউতে নিম্নলিখিতটি সেট করুন।

android:src="@drawable/your_image"
android:scaleType = "centerCrop"

2
আপনি কোথায় 'আপনার_মাজ' সঞ্চয় করবেন?
অথর্ব জোহরি

5
পুনরায়-> অঙ্কনযোগ্য ফোল্ডারে। একাধিক হতে পারে - প্রতিটি স্ট্যান্ড আলাদা রেজোলিউশনের (উদাঃ নিম্ন রেজোলিউশন / উচ্চ রেজোলিউশন) এর জন্য। যদি প্রতিটি রেজোলিউশনের জন্য নির্দিষ্ট চিত্র না থাকে তবে যে কোনও একটি কাজ করবে।
krodmannix

5
উত্তর ভাল। তবে আমি অবাক হয়েছি যে কেউ যদি প্রতিটি ডিপিআই গ্রুপের জন্য আদর্শ ফোন মাপ খুঁজে পায়, যা চিত্রগুলি প্রস্তুত করার সময় বেশ কার্যকর হবে। সম্পাদিত: পাওয়া গেছে - স্ট্যাকওভারফ্লো.com
শিয়াল

7
শেষ বিকল্প -> মেমরির বাইরে: ডি
ternes3

1
ওওএমএর ত্রুটিটি আমরা এখানে আসছি ... যদি এটির একটি বড় চিত্র আপনার পর্দার আকারের উপর নির্ভর করে স্কেল আপ বা ডাউন করতে হয়! এক্ষেত্রে আপনাকে অ্যাসিক্রোনাস টাস্কের মাধ্যমে সম্ভবত বিটম্যাপটি লোড করতে হবে।
জনি 2 প্ল্যাটস

25

অন্য বিকল্পটি হ'ল ছবিগুলিতে একটি একক চিত্র (অগত্যা বড় নয়) যুক্ত করা যাক (এর নামটি ব্যাকগ্রাউং.জেপজি করুন) আপনার "এক্সআরএল" বৈশিষ্ট্য ছাড়াই আপনার এক্সএমএলের মূলটিতে একটি চিত্রভিউ আইভ_ব্যাকগ্রাউন্ড তৈরি করুন। তারপরে সংশ্লিষ্ট ক্রিয়াকলাপের অনক্রিট পদ্ধতিতে:

    /* create a full screen window */
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.your_activity);

    /* adapt the image to the size of the display */
    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    Bitmap bmp = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(
      getResources(),R.drawable.background),size.x,size.y,true);

    /* fill the background ImageView with the resized image */
    ImageView iv_background = (ImageView) findViewById(R.id.iv_background);
    iv_background.setImageBitmap(bmp);

কোনও ক্রপিং নেই, বিভিন্ন আকারের কোনও চিত্র নেই। আশা করি এটা সাহায্য করবে!


3
এটি একটি দরকারী সমাধান, তবে মূল থ্রেডের বিটম্যাপ প্রসেসিংয়ের কথা মনে রাখবেন: developer.android.com/training/displaying-bitmaps/…
কাইল আইভে

19

আপনার নিম্নলিখিত আকারের ফোল্ডারে বিভিন্ন আকারের চিত্র দেওয়া উচিত

আরও বিস্তারিত জানার জন্য এই লিঙ্কটি দেখুন

  • ldpi

  • mdpi

  • hdpi

  • xhdpi

  • xxhdpi

এবং ইমেজভিউকে ফলউইউং উদাহরণ হিসাবে ব্যবহার করার পরিবর্তে রিলেটিভলআউট বা লিনিয়ারলআউট পটভূমি ব্যবহার করুন

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical"
 android:background="@drawable/your_image">

</RelativeLayout>

আমি একটি ত্রুটি পেয়ে যাচ্ছিUnexpected namespace prefix "xmlns" found for tag RelativeLayout
কোডি বাগস্টিন

এটি আমার টুকরোটিকে এতটাই অলস করে তোলে। বুঝতে পারছি না কেন।
Sermilion

পিকাসো ( স্কোয়ার.github.io/picasso ) দিয়ে ক্যাশে বা লোড চিত্র ব্যবহার করুন আশা করি আপনার সমস্যার সমাধান হবে
মুনিশ কাপুর

7

কি সম্পর্কে

android:background="@drawable/your_image"

আপনার ক্রিয়াকলাপের মূল বিন্যাসে?

এই পদ্ধতিতে উপযুক্ত res/drawable-**dpiফোল্ডারে রেখে বিভিন্ন স্ক্রিনের ঘনত্বের জন্য আপনার বিভিন্ন চিত্র থাকতে পারে ।


7

এটি পোস্ট হওয়ার পরে বেশ কিছুদিন হয়েছে, তবে এটি আমাকে সাহায্য করেছিল।

আপনি নেস্টেড লেআউটগুলি ব্যবহার করতে পারেন। কোনও রিলেটিভলআউট দিয়ে শুরু করুন এবং এতে আপনার চিত্রটি দেখুন।

স্ক্রিনটি পূরণের জন্য ম্যাচ_পিতাটিকে উচ্চতা এবং প্রস্থ নির্ধারণ করুন।

স্কেলটাইপ = "সেন্টারক্রপ" সেট করুন যাতে চিত্রটি পর্দার সাথে মানানসই হয় এবং প্রসারিত হয় না।

তারপরে আপনি সাধারণত যেভাবে অন্য লেআউটগুলিতে রাখতে পারেন যেমন নীচের লিনিয়ারলআউট।

চিত্রের স্বচ্ছতা নির্ধারণ করতে আপনি অ্যান্ড্রয়েড: আলফা ব্যবহার করতে পারেন।

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

  <ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="centerCrop"
    android:src="@drawable/image"
    android:alpha="0.6"/>

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="There"/>

   </LinearLayout>
</RelativeLayout>

7

যদি আপনি চান যে আপনার চিত্রটি একটি স্বচ্ছ ক্রিয়া বারের পিছনে প্রদর্শিত হয়, তবে আপনার থিমের স্টাইল সংজ্ঞাটিতে নিম্নলিখিতটি লিখুন:

<item name="android:windowActionBarOverlay">true</item>

উপভোগ করুন!


7

এটা ব্যবহার কর

android:background="@drawable/your_image"

আপনার ক্রিয়াকলাপে খুব প্রথম লিনিয়ার বা আপেক্ষিক বিন্যাস।


1

NoToast উত্তর সঙ্গে লাইন ইন, আপনি "your_image" আপনার মাঝামাঝি / অঙ্কনযোগ্য-ldpi, mdpi, hdpi, এক্স-hdpi (Xtra বৃহৎ পর্দা জন্য) এর একাধিক সংস্করণ আছে করতে হবে Remove match_parent এবং রাখা অ্যান্ড্রয়েড adjustViewBounds = " সত্য "


1

যোগ android:background="@drawable/your_image"আপনার Relativelayout / Linearlayout কাজ ভিতরে।


0

আপনার পটভূমি চিত্র হিসাবে যদি আপনার bg.png থাকে তবে কেবল:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world"/>
</RelativeLayout>

-1

কাজ। আপনার এই চেষ্টা করা উচিত:

android:src="@drawable/img"

-1

three step for put background

1) আপনার নিজের ছবি পছন্দ করা উচিত। উদাহরণস্বরূপ: এখানে চিত্রের বর্ণনা লিখুন

2) তারপরে আপনি এই ছবিটি ছবিতে অনুলিপি করুন। সতর্কতা: আপনার নামের নামের জন্য ছোট ধরণের পছন্দ করা উচিত।

এখানে চিত্র বর্ণনা লিখুন

3) আপনি পৃষ্ঠাগুলি এক্সএমএল ইনটেড করে যান এবং লিখুন:

অ্যান্ড্রয়েড: ব্যাকগ্রাউন্ড = "আইডি ছবি" উদাহরণস্বরূপ আমার ছবির আইডিটি @ অঙ্কনযোগ্য / ডাউনলোড।

এখানে চিত্র বর্ণনা লিখুন

শেষ।


-2

সহজতম পথ:

পদক্ষেপ 1: AndroidManLive.xML ফাইলটি খুলুন

আপনি এখানে ফাইল দেখতে পারেন!

পদক্ষেপ 2: সনাক্ত করুন android:theme="@style/AppTheme" >

পদক্ষেপ 3: এ পরিবর্তন করুন android:theme="@style/Theme.AppCompat.NoActionBar" >

পদক্ষেপ 4: তারপরে ইমেজভিউ এবং চিত্র যুক্ত করুন

পদক্ষেপ 4: এটাই!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.