অ্যান্ড্রয়েড লেআউট এক্সএমএলে ব্যাকগ্রাউন্ড, ব্যাকগ্রাউন্ড টিন্ট, ব্যাকগ্রাউন্ডটিন্টমোড বৈশিষ্ট্যের মধ্যে পার্থক্য কী?


112

অ্যান্ড্রয়েড লেআউট এক্সএমএল নিয়ে কাজ করার সময় আমি backgroundTintবৈশিষ্ট্যটি জুড়ে এসেছি । আমি বুঝতে পারছি না কি জন্য।

এছাড়াও কি backgroundTintMode??

উত্তর:


90

আমি বিভিন্ন সংমিশ্রণ পরীক্ষা করেছি android:background, android:backgroundTintএবং android:backgroundTintMode।

android:backgroundTintandroid:backgroundএকসাথে যখন ব্যবহৃত হয় তখন এর সংস্থানটিতে রঙিন ফিল্টার প্রয়োগ করে android:backgroundTintMode।

ফলাফল এখানে:

টিন্ট চেক

আপনি যদি আরও পরীক্ষা করতে চান তবে কোডটি এখানে:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_main">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="32dp"
        android:textSize="45sp"
        android:background="#37AEE4"
        android:text="Background" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="32dp"
        android:textSize="45sp"
        android:backgroundTint="#FEFBDE"
        android:text="Background tint" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="32dp"
        android:textSize="45sp"
        android:background="#37AEE4"
        android:backgroundTint="#FEFBDE"
        android:text="Both together" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="32dp"
        android:textSize="45sp"
        android:background="#37AEE4"
        android:backgroundTint="#FEFBDE"
        android:backgroundTintMode="multiply"
        android:text="With tint mode" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="32dp"
        android:textSize="45sp"
        android:text="Without any" />
</LinearLayout>

আপনার দ্বিতীয় টেক্সটভিউ উদাহরণে আমি অবাক হয়েছি কেবলমাত্র ব্যবহার android:backgroundTintনা করেই android:background, এই দ্বিতীয় পাঠ্যদর্শনটি কোনও পরিবর্তন করে না। যাইহোক, আমি android:backgroundTintবোতামটিতে চেষ্টা করি, বোতামের রঙটি আমি সেট করা ব্যাকগ্রাউন্ড টিন্টের একই বর্ণের মতো লাগে look আপনি এই মামলাগুলি ব্যাখ্যা করতে পারেন?
— Vinh Nguyen

@ VinhNguyen, android:backgroundসম্পত্তি android:backgroundTintদৃশ্যমান হওয়ার জন্য অবশ্যই সেট করা উচিত TextView। ক্ষেত্রে Button, আমি অনুমান করছি যে এটি ইতিমধ্যে ফ্রেমওয়ার্ক দ্বারা সেট কিছু প্রকারের পটভূমি / রঙ রয়েছে।
— যোগেশ উমেশ ভৈতি

13

backgroundTintঅ্যাট্রিবিউট আপনি পটভূমির জন্য একটি আভা (আলোছায়া) যোগ করতে সাহায্য করবে। আপনি এর আকারে রঙের মান সরবরাহ করতে পারেন -"#rgb", "#argb", "#rrggbb", or "#aarrggbb".

backgroundTintModeঅন্যদিকে সাহায্য করবে আপনি পটভূমির আভা প্রযোজ্য হবে। এটির মতো ধ্রুবক মান থাকতে হবে src_over, src_in, src_atop,ইত্যাদি etc.

পড়ুন এই ধ্রুবক মান যে ব্যবহার করা যেতে পারে একটি পরিষ্কার ধারণা পেতে। backgroundTintবৈশিষ্ট্য এবং বর্ণনার জন্য অনুসন্ধান করুন বিভিন্ন বৈশিষ্ট্যের সাথে পাওয়া যাবে।


লিঙ্কটি নষ্ট হয়ে গেছে।
— মল্লাউদ্দিন

1
না এইটা না. আপনি আবার পরীক্ষা করতে পারেন?
— সমুদ্রি

7

আমি ইতিমধ্যে আচ্ছাদিত হওয়ায় পার্থক্যের উপর খুব বেশি চাপ দেবো না, তবে নীচে লক্ষ্য করুন:

  • android:backgroundTint android:backgroundTintMode কেবলমাত্র 21 এআইপি এ উপলব্ধ
  • আপনার যদি একটি উইজেট থাকে যা দ্বারা পিএনজি / ভেক্টর আঁকার যোগ্য পটভূমি সেট করা থাকে android:backgroundএবং আপনি এর ডিফল্ট রঙ পরিবর্তন করতে চান তবে আপনি android:backgroundTintএটিতে একটি ছায়া যুক্ত করতে ব্যবহার করতে পারেন ।

উদাহরণ

<Button
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:background="@android:drawable/ic_dialog_email" />

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

<Button
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:background="@android:drawable/ic_dialog_email"
    android:backgroundTint="@color/colorAccent" />

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

আরেকটি উদাহরণ

যদি আপনি FloatingActionButtonব্যবহারের অ্যাকসেন্ট রঙ পরিবর্তন করার চেষ্টা করেন তবে আপনি android:backgroundকোনও পরিবর্তন লক্ষ্য করবেন না, কারণ এটি ইতিমধ্যে ব্যবহার হয়েছে app:srcCompat, তাই এটির android:backgroundTintপরিবর্তে আপনি এটি ব্যবহার করতে পারেন


4

ব্যাকগ্রাউন্ডটাইন্ট রঙ ফিল্টার হিসাবে কাজ করে।

রঙিন হিসাবে FEFBDE

পটভূমি হিসাবে 37AEE4

মন্তব্য টিন্ট / ব্যাকগ্রাউন্ডের মাধ্যমে পার্থক্যটি দেখার চেষ্টা করুন এবং উভয় সেট হয়ে গেলে আউটপুট পরীক্ষা করুন।


4

অ্যান্ড্রয়েড backgroundTintMode

ব্যাকগ্রাউন্ড টিন্ট প্রয়োগ করতে ব্লেন্ডিং মোড ব্যবহৃত হয়।

অ্যান্ড্রয়েড backgroundTint

পটভূমিতে প্রয়োগ করার জন্য টিন্ট। আকারে একটি রং মান হতে, must #rgb, #argb, #rrggbb, অথবা #aarrggbb।

এটি কোনও সংস্থার ("@ [প্যাকেজ:] প্রকার: নাম" আকারে) বা থিমের অ্যাট্রিবিউট (ফর্মটিতে "? [প্যাকেজ:] [টাইপ:] নাম") এর এই জাতীয় মান সহ একটি রেফারেন্সও হতে পারে ।

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