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


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.