অ্যান্ড্রয়েডের টেক্সটভিউ বা ইমেজভিউতে কীভাবে রিপল ইফেক্ট সেট করবেন?


127

আমি অ্যান্ড্রয়েড স্টুডিওতে টেক্সটভিউ এবং চিত্র দর্শনে একটি রিপল ইফেক্ট সেট করতে চাই। আমি এটা কিভাবে করবো?


1
দয়া করে আপনার প্রশ্নটি আগে ব্যাখ্যা করুন rate আসলে আপনার কী প্রয়োজন এবং আপনি এখন পর্যন্ত কী চেষ্টা করেছেন imp কেবলমাত্র আমি বলছি যে রিপল ইফেক্টটি এটি একটি বিস্তৃত প্রশ্ন । com / সহায়তা / কীভাবে জিজ্ঞাসা করুন
অনিরুদ্ধ শর্মা

আসলে আমি টেক্সট-ভিউ এবং ইমেজ-ভিউ সিলেক্ট / আনসलेक्ट ইফেক্টের জন্য এফেক্ট চাই।
বসন্ত

আপনি কি একই সন্ধানের চেষ্টা করেছেন?
অনিরুদ্ধ শর্মা

উত্তর:


276

তথ্যসূত্র: http://developer.android.com/training/matory/animations.html ,

http://wiki.workassis.com/category/android/android-xml/

<TextView
.
.
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
/>

<ImageView
.
.
.
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
/>

2
এটি আমার সাথে ললিপপে কাজ করেছে, তবে এই অ্যান্ড্রয়েড অ্যান্ড্রয়েড সংস্করণটির জন্য কী এই উপায়? এবং এটি প্রাক-ললিপপ কাজ করে?
বশির আল-মোমনি

2
@ রিচার্ড আমার এক বছর আগে কিটকাট (বা আইসিএস) নিয়ে সমস্যা হয়েছিল এবং ক্লিক শ্রোতা অ্যান্ড্রয়েড ছাড়া কাজ করেননি: ক্লিকযোগ্য = সেই সংস্করণটির জন্য "সত্য"
ডোরুচিডিয়ান

25
অ্যান্ড্রয়েডের আধুনিক সংস্করণগুলিতে, এটি এখনandroid:background="?android:attr/selectableItemBackground"
tmm1

2
আমি যখন কাস্টম পটভূমি চাই তখন এটি কীভাবে ব্যবহার করতে পারি ??
মিঃ


81

আপনি যদি রিপলটি টেক্সটভিউ / ইমেজভিউ ব্যবহারের আকারের সাথে আবদ্ধ করতে চান:

<TextView
android:background="?attr/selectableItemBackground"
android:clickable="true"/>

(আমি মনে করি এটি আরও ভাল দেখাচ্ছে)


2
selectableItemBackgroundবনামselectableItemBackgroundBorderless
রাকেশ কাশ্যপ

কেন জানি এটি সীমানায় আবদ্ধ ছিল না এবং এটি পুরো বিন্যাসের মাধ্যমে প্রসারিত হয়
VSB

4
@ রকেশকাশ্যপ পার্থক্যটি হ'ল নির্বাচনযোগ্য আইটেমব্যাকগ্রাউন্ডটি তার ভিউ আকারের (প্রস্থ / উচ্চতা) মধ্যে রিপলটি রাখবে। বাছাইযোগ্য আইটেমব্যাকগ্রাউন্ডসর্ডারলেস এটি অন্য দর্শনগুলির চেয়ে প্রসারিত করবে (অফিসিয়াল ক্যালকুলেটর অ্যাপ্লির মতো)
টিউডর

1
এবং এছাড়াও এটি >>> অ্যান্ড্রয়েড: ফোকাসযোগ্য = "সত্য"
আমোস

25

রিপল প্রভাবের জন্য নীচের উত্তরটি উল্লেখ করুন।

পাঠ্যদর্শন বা দেখুন নেভিগেশন রিপল:

android:clickable="true"
android:focusable="true"
android:foreground="?android:attr/selectableItemBackgroundBorderless"

বাটন বা ইমেজভিউতে রিপল:

android:foreground="?android:attr/selectableItemBackgroundBorderless"

4
দয়া করে লক্ষ্য করুন যে selectableItemBackgroundBorderlessএটি 21++ এর API। নীচে আপনি selectableItemBackgroundসামঞ্জস্যতা সমস্যা এড়াতে চয়ন করতে পারেন
স্টিভেনটিবি

10

আপনি অ্যান্ড্রয়েড-রিপল-ব্যাকগ্রাউন্ড ব্যবহার করতে পারেন

প্রারম্ভিক প্রভাব

final RippleBackground rippleBackground=(RippleBackground)findViewById(R.id.content);
ImageView imageView=(ImageView)findViewById(R.id.centerImage);
imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        rippleBackground.startRippleAnimation();
    }
});

অ্যানিমেশন বন্ধ করুন:

rippleBackground.stopRippleAnimation();

চমৎকার! এর কোন কোটলিন সংস্করণ আছে?
রেজিনিয়ার

8
<TextView
            android:id="@+id/txt_banner"
            android:layout_width="match_parent"
            android:text="@string/banner"
            android:gravity="center|left"
            android:layout_below="@+id/title"
            android:background="@drawable/ripple_effect"
            android:paddingLeft="15dp"
            android:textSize="15sp"
            android:layout_height="45dp" />

এটি অঙ্কনযোগ্য মধ্যে যুক্ত করুন

<?xml version="1.0" encoding="utf-8"?>
<!--this ribble animation only working for >= android version 21-->
<ripple
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/click_efect" />

এটা চেষ্টা কর.


6

এটা চেষ্টা কর. এটি আমার জন্য কাজ করা হয়।

android:clickable="true"
    android:focusable="true"
    android:background="?android:attr/selectableItemBackground"

1
আমি এর আগেই এটি উল্লেখ করেছি ( স্ট্যাকওভারফ্লো.com / a / 50347848 / 1954960 ) সুতরাং সদৃশ জবাব না দেওয়ার পরিবর্তে, দয়া করে আমার উত্তরটি থাম্বস্ফস্ফুট করে, ধন্যবাদ! :)
জাফার সেলেলাগলু

5

উপরের উত্তরের সাথে যুক্ত হ'ল ইউআই সম্পাদকের সতর্কতা এড়াতে মনোনিবেশযোগ্য

android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:focusable="true"

4

@ বিকাশ এম আনুর দ্বারা পোস্ট করা ভাল ভোটের সমাধানের ক্ষেত্রে ( এখানে ) আপনার কাজ করে না, ব্যবহার করার চেষ্টা করুন:

<TextView
...
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true" />

<ImageView
...
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true" />

এছাড়াও, android:clickable="true"অ্যাড ব্যবহার করার সময়android:focusable="true" কারণ:

" এমন উইজেট যা ক্লিকযোগ্য বলে ঘোষণা করা হয়েছে তবে ফোকাসযোগ্য হিসাবে ঘোষণা করা হয়নি তা কীবোর্ডের মাধ্যমে অ্যাক্সেসযোগ্য নয় " "


3

যোগ android:clickable="true" android:focusable="true"

রিপল এফেক্টের জন্য

android:background="?attr/selectableItemBackgroundBorderless"

নির্বাচনযোগ্য প্রভাবের জন্য

android:background="?android:attr/selectableItemBackground"

বোতামের প্রভাবের জন্য

android:adjustViewBounds="true" style="?android:attr/borderlessButtonStyle"

2

@ বিকাশ এম আনুরের উত্তর ছাড়াও, আপনার সমর্থন লাইব্রেরি আপডেট করতে ভুলবেন না। পূর্বে আমি 23.1.1 ব্যবহার করছিলাম এবং কিছুই ঘটেনি। এটি 23.3.0 এ আপডেট করা কৌশলটি করেছে।


2

বৃত্ত রিপল জন্য: android:background="?attr/selectableItemBackgroundBorderless"

আয়তক্ষেত্রের রিপল জন্য: android:background="?attr/selectableItemBackground"


1

অথবা আপনি এই গ্রন্থাগারটি ব্যবহার করতে চেষ্টা করতে পারেন (অ্যান্ড্রয়েড 9+): রিপলএফেক্ট

মিশ্রণ

dependencies {
    compile 'com.github.traex.rippleeffect:library:1.3'
}

ব্যবহার:

<com.andexert.library.RippleView
  android:id="@+id/more"
  android:layout_width="?android:actionBarSize"
  android:layout_height="?android:actionBarSize"
  android:layout_toLeftOf="@+id/more2"
  android:layout_margin="5dp"
  rv_centered="true">

  <ImageView
    android:layout_width="?android:actionBarSize"
    android:layout_height="?android:actionBarSize"
    android:src="@android:drawable/ic_menu_edit"
    android:layout_centerInParent="true"
    android:padding="10dp"
    android:background="@android:color/holo_blue_dark"/>

</com.andexert.library.RippleView>

8
আমি এটি বেশ দীর্ঘ সময় ধরে ব্যবহার করেছি তবে আপনি অ্যান্ড্রয়েড ২.৩ এর দিকে লক্ষ্য না করা ছাড়া আমি এটির আর প্রস্তাব দিই না। এটি বগি, ল্যাগি এবং বয়লারপ্লেট কোড উত্পাদন করে। এবং যেহেতু এই মুহুর্তে সমস্ত ডিভাইসের 43% এর অ্যান্ড্রয়েড 5 বা 6 রয়েছে আপনার অ্যান্ড্রয়েড 4 বা selectableItemBackgroundতদুর্ধের লক্ষ্যমাত্রার সময় আপনি কেবল আটকে থাকতে পারেন ।
0101100101

0

সর্বোত্তম উপায় এটি যুক্ত:

    <ImageView
        android:id="@+id/ivBack"
        style="?attr/actionButtonStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="16dp"
        android:src="@drawable/ic_back_arrow_black"
        android:tint="@color/white" />

-4

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

<com.balysv.materialripple.MaterialRippleLayout
android:id="@+id/ripple"
android:layout_width="match_parent"
android:layout_height="wrap_content">

4
ওহ দয়া করে না, এটি সর্বোত্তম উপায় নয় কারণ এটির উপর আপনার কম নিয়ন্ত্রণ রয়েছে এবং এটি অ্যান্ড্রয়েড এসডিকে নিজেই ব্যাপকভাবে সমর্থিত। যদি কেউ এটি পড়েন তবে আমি রঙটি নিয়ন্ত্রণ করতে চাইলে @ বিকাশ বা কার্তিকের মন্তব্যটি দেখার পরামর্শ দিই।
ডিওন সেজিজন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.