मैं एंड्रॉइड स्टूडियो में टेक्स्टव्यू और इमेजव्यू पर एक रिपल इफेक्ट सेट करना चाहता हूं। मैं यह कैसे कर सकता हूं?
मैं एंड्रॉइड स्टूडियो में टेक्स्टव्यू और इमेजव्यू पर एक रिपल इफेक्ट सेट करना चाहता हूं। मैं यह कैसे कर सकता हूं?
जवाबों:
रेफरी: http://developer.android.com/training/material/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"
/>
android:background="?android:attr/selectableItemBackground"
Borderless
youtube.com/watch?v=wOjA8tS5sbc
यदि आप चाहते हैं कि रिपल टेक्स्ट व्यू / इमेज व्यू के आकार के लिए बाध्य हो:
<TextView
android:background="?attr/selectableItemBackground"
android:clickable="true"/>
(मुझे लगता है कि यह बेहतर लग रहा है)
selectableItemBackground
बनामselectableItemBackgroundBorderless
कृपया तरंग प्रभाव के लिए नीचे दिए गए उत्तर को देखें।
टेक्स्टव्यू या दृश्य पर लहर:
android:clickable="true"
android:focusable="true"
android:foreground="?android:attr/selectableItemBackgroundBorderless"
बटन या छवि पर लहर:
android:foreground="?android:attr/selectableItemBackgroundBorderless"
selectableItemBackgroundBorderless
एपीआई 21+ है। नीचे आप selectableItemBackground
संगतता समस्या से बचने के लिए चुन सकते हैं
आप एंड्रॉइड-रिपल-बैकग्राउंड का उपयोग कर सकते हैं
प्रभाव प्रारंभ करें
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();
<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" />
इसे इस्तेमाल करे।
इसे इस्तेमाल करे। यह मेरे लिए काम किया है।
android:clickable="true"
android:focusable="true"
android:background="?android:attr/selectableItemBackground"
उपर्युक्त उत्तरों के अलावा UI संपादक की चेतावनी से बचने के लिए ध्यान देने योग्य है
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:focusable="true"
@Bikesh M Annur ( यहां ) द्वारा पोस्ट किए गए अच्छी तरह से मतदान समाधान के मामले में , आपके लिए काम नहीं करता है, उपयोग करने का प्रयास करें:
<TextView
...
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true" />
<ImageView
...
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true" />
android:clickable="true"
ऐड का उपयोग करते समय भी, android:focusable="true"
क्योंकि:
" एक विजेट जो क्लिक करने योग्य घोषित किया गया है लेकिन ध्यान देने योग्य घोषित नहीं किया गया है वह कीबोर्ड के माध्यम से सुलभ नहीं है। "
जोड़ना
android:clickable="true"
android:focusable="true"
तरंग प्रभाव के लिए
android:background="?attr/selectableItemBackgroundBorderless"
चयन प्रभाव के लिए
android:background="?android:attr/selectableItemBackground"
बटन प्रभाव के लिए
android:adjustViewBounds="true" style="?android:attr/borderlessButtonStyle"
@Bikesh M Annur के जवाब के अलावा, अपने समर्थन पुस्तकालयों को अद्यतन करना सुनिश्चित करें। पहले मैं 23.1.1 का उपयोग कर रहा था और कुछ नहीं हुआ। इसे 23.3.0 पर अपडेट कर चाल चली।
सर्कल रिपल के लिए:
android:background="?attr/selectableItemBackgroundBorderless"
आयत तरंग के लिए:
android:background="?attr/selectableItemBackground"
या आप इस लाइब्रेरी (Android 9+) का उपयोग करने का प्रयास कर सकते हैं: RippleEffect
एकीकरण
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>
selectableItemBackground
एंड्रॉइड 4 और इसके बाद के संस्करण को लक्षित करते समय चिपक सकते हैं।
पुस्तकालयों का उपयोग करना। यह उनमें से एक है। बस अपनी निर्भरता जोड़ें और प्रत्येक तत्व से पहले xml में नीचे दिए गए कोड को डालें, जिन्हें रिपल इफेक्ट की आवश्यकता है:
<com.balysv.materialripple.MaterialRippleLayout
android:id="@+id/ripple"
android:layout_width="match_parent"
android:layout_height="wrap_content">