दिलचस्प पोस्ट
आपको कब शाखाएं चाहिए? जावा के लिए एसक्यूएल पार्सर पुस्तकालय क्या वास्तव में करता है। () विधि करते हैं? जावा में एक फ़ाइल संसाधन से एक संसाधन बंडल कैसे लोड करें? क्या उप-वर्ग निजी क्षेत्रों का उत्तराधिकारी है? मैं बाल खिड़की के डोम ट्री तक कैसे पहुंच सकता हूं? न्यूटोंसॉफ्ट JSON Deserialize आईओएस 7: स्टेटस बार के तहत यूआईटीबलदृश्य दिखाता है बार ढूंढ़ें, पीले से सफेद रंग का पथ रंग बदलें क्या पुट, डिलीट, हेड, आदि अधिकांश वेब ब्राउज़रों में उपलब्ध हैं? मैं jQuery में एक क्लिक और पकड़ के लिए कैसे सुन सकता हूँ? क्यों मेरे फ़ंक्शन कॉल को सेटटिमेउट द्वारा निष्पादित किया जाना चाहिए, जिसे तुरंत निष्पादित किया जाए? JQuery में क्लास चयनकर्ता नहीं मैं टीपीएल कार्य को कैसे रद्द / रद्द कर सकता हूं? एडीटी और एसडीके उपकरण v17 के अपडेट के बाद जीएसएन नोक्लास डीफफाउंड एरर

क्या एंड्रॉइड का उपयोग करते हुए बटन और टेक्स्टवॉइस में वेक्टर ड्रॉएबल का उपयोग करना संभव है: DrawableRight?

जब मैं "एंड्रॉइड: DrawableRight" / "एंड्रॉइड: DrawableEnd" / "एंड्रॉइड: DrawableStart" / "एंड्रॉइड: DrawableStart" / "एंड्रॉइड: DrawableLeft" का उपयोग करते समय एक पाठ दृश्य या छविदृश्य में वेक्टर ड्रेनेबल संपत्ति का उपयोग करता हूं।

ऐप बिना चेतावनी के ठीक से संकलित करेगा

मै इस्तेमाल कर रहा हूँ

  • Gradle 1.5
  • सहायता पुस्तकालय 23.2 ('com.android.support:appcompat- v7:23.2.0')

मैंने जो पाया है, हालांकि यह है कि मैं प्रोग्रामात्मक रूप से इस तरह के क्रैश के बिना जावा में एसवीजी का आवंटन कर सकता हूं।

TextView tv = (TextView) findViewById(R.id.textView); tv.setCompoundDrawablesWithIntrinsicBounds(null,null, getResources().getDrawable(R.drawable.ic_accessible_white_36px),null); 

(मुझे संदेह है कि यह 23.2 के लिए एक समर्थन पुस्तकालय बग है।)

लेकिन एसवीजी संपत्ति के लिए ड्रॉएबल राइट इत्यादि का उपयोग करना संभव है?

यहाँ मेरा लेआउट है

 <?xml version="1.0" encoding="utf-8"?> <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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="au.com.angryitguy.testsvg.MainActivity"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableRight="@drawable/ic_accessible_white_36px" android:background="@color/colorPrimary" android:textColor="#FFFFFF" android:textSize="22sp" android:text="Hello World!"/> </RelativeLayout> 

यहाँ मेरी गतिविधि है

 package au.com.angryitguy.testsvg; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } 

यहां Google की सामग्री डिज़ाइन साइट से असम्बद्धकृत वैक्टर ड्रॉएबल संपत्ति है।

 <vector android:height="24dp" android:viewportHeight="24.0" android:viewportWidth="24.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> <path android:fillColor="#FFFFFF" android:pathData="M12,4m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/> <path android:fillColor="#FFFFFF" android:pathData="M19,13v-2c-1.54,0.02 -3.09,-0.75 -4.07,-1.83l-1.29,-1.43c-0.17,-0.19 -0.38,-0.34 -0.61,-0.45 -0.01,0 -0.01,-0.01 -0.02,-0.01L13,7.28c-0.35,-0.2 -0.75,-0.3 -1.19,-0.26C10.76,7.11 10,8.04 10,9.09L10,15c0,1.1 0.9,2 2,2h5v5h2v-5.5c0,-1.1 -0.9,-2 -2,-2h-3v-3.45c1.29,1.07 3.25,1.94 5,1.95zM12.83,18c-0.41,1.16 -1.52,2 -2.83,2 -1.66,0 -3,-1.34 -3,-3 0,-1.31 0.84,-2.41 2,-2.83L9,12.1c-2.28,0.46 -4,2.48 -4,4.9 0,2.76 2.24,5 5,5 2.42,0 4.44,-1.72 4.9,-4h-2.07z"/> </vector> 

यहां मेरा ऐप build.gradle है I

 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "au.com.angryitguy.testsvg" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" // Stops the Gradle plugin's automatic rasterization of vectors generatedDensities = [] } // Flag to tell aapt to keep the attribute ids around aaptOptions { additionalParameters "--no-version-vectors" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.2.0' } 

यहाँ दुर्घटना है (फुटेज त्रुटियों को नोट करें जो पाठदृश्य का संदर्भ देती हैं।)

 03-02 07:56:08.808 13863-13863/? E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{au.com.angryitguy.testsvg/au.com.angryitguy.testsvg.MainActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class TextView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) at android.app.ActivityThread.access$600(ActivityThread.java:130) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class TextView at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129) at au.com.angryitguy.testsvg.MainActivity.onCreate(MainActivity.java:14) at android.app.Activity.performCreate(Activity.java:5008) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) at android.app.ActivityThread.access$600(ActivityThread.java:130) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_accessible_white_36px.xml from drawable resource ID #0x7f02004b at android.content.res.Resources.loadDrawable(Resources.java:1918) at android.content.res.TypedArray.getDrawable(TypedArray.java:601) at android.widget.TextView.<init>(TextView.java:622) at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:60) at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:56) at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103) at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:963) at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1022) at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129) at au.com.angryitguy.testsvg.MainActivity.onCreate(MainActivity.java:14) at android.app.Activity.performCreate(Activity.java:5008) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) at android.app.ActivityThread.access$600(ActivityThread.java:130) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #1: invalid drawable tag vector at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:877) at android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) at android.content.res.Resources.loadDrawable(Resources.java:1915) at android.content.res.TypedArray.getDrawable(TypedArray.java:601) at android.widget.TextView.<init>(TextView.java:622) at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:60) at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:56) at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103) at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:963) at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1022) at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129) at au.com.angryitguy.testsvg.MainActivity.onCreate(MainActivity.java:14) at android.app.Activity.performCreate(Activity.java:5008) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) at android.app.ActivityThread.access$600(ActivityThread.java:130) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) 

वेब के समाधान से एकत्रित समाधान "क्या एंड्रॉइड का उपयोग करते हुए बटन और टेक्स्टवॉइस में वेक्टर ड्रॉएबल का उपयोग करना संभव है: DrawableRight?"

क्योंकि ऐसा लगता है कि Google जल्द ही इस मुद्दे के बारे में कुछ नहीं करने जा रहा है, मुझे अपने सभी ऐप्स के लिए अधिक ठोस पुन: प्रयोज्य समाधान के साथ आया था:

  1. पहले अपने ऐप "res / values ​​/ attrs.xml" की attrs.xml फ़ाइल में कस्टम टेक्स्टदृश्य विशेषताएँ जोड़ें:

     <resources> <declare-styleable name="CustomTextView"> <attr name="drawableLeftCompat" format="reference"/> <attr name="drawableRightCompat" format="reference"/> <attr name="drawableTopCompat" format="reference"/> <attr name="drawableBottomCompat" format="reference"/> </declare-styleable> </resources> 
  2. फिर कस्टम टेक्स्टव्यू वर्ग इस तरह बनाएं:

     import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.Build; import android.support.v7.content.res.AppCompatResources; import android.support.v7.widget.AppCompatTextView; import android.util.AttributeSet; public class CustomTextView extends AppCompatTextView { public CustomTextView(Context context) { super(context); } public CustomTextView(Context context, AttributeSet attrs) { super(context, attrs); initAttrs(context, attrs); } public CustomTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initAttrs(context, attrs); } void initAttrs(Context context, AttributeSet attrs) { if (attrs != null) { TypedArray attributeArray = context.obtainStyledAttributes( attrs, R.styleable.CustomTextView); Drawable drawableLeft = null; Drawable drawableRight = null; Drawable drawableBottom = null; Drawable drawableTop = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { drawableLeft = attributeArray.getDrawable(R.styleable.CustomTextView_drawableLeftCompat); drawableRight = attributeArray.getDrawable(R.styleable.CustomTextView_drawableRightCompat); drawableBottom = attributeArray.getDrawable(R.styleable.CustomTextView_drawableBottomCompat); drawableTop = attributeArray.getDrawable(R.styleable.CustomTextView_drawableTopCompat); } else { final int drawableLeftId = attributeArray.getResourceId(R.styleable.CustomTextView_drawableLeftCompat, -1); final int drawableRightId = attributeArray.getResourceId(R.styleable.CustomTextView_drawableRightCompat, -1); final int drawableBottomId = attributeArray.getResourceId(R.styleable.CustomTextView_drawableBottomCompat, -1); final int drawableTopId = attributeArray.getResourceId(R.styleable.CustomTextView_drawableTopCompat, -1); if (drawableLeftId != -1) drawableLeft = AppCompatResources.getDrawable(context, drawableLeftId); if (drawableRightId != -1) drawableRight = AppCompatResources.getDrawable(context, drawableRightId); if (drawableBottomId != -1) drawableBottom = AppCompatResources.getDrawable(context, drawableBottomId); if (drawableTopId != -1) drawableTop = AppCompatResources.getDrawable(context, drawableTopId); } setCompoundDrawablesWithIntrinsicBounds(drawableLeft, drawableTop, drawableRight, drawableBottom); attributeArray.recycle(); } } } 
  3. अब आप अपनी कस्टम विशेषताओं द्वारा किसी भी लेआउट में आसानी से इसका उपयोग कर सकते हैं:

     <YOUR_VIEW_PACKAGE.CustomTextView android:id="@+id/edt_my_edit_text" android:layout_width="wrap_content" android:layout_height="wrap_content" app:drawableLeftCompat="@drawable/your_vector_drawable" <!-- vector drawable --> app:drawableRightCompat="@drawable/your_vector_drawable" <!-- vector drawable --> app:drawableTopCompat="@drawable/your_vector_drawable" <!-- vector drawable --> app:drawableBottomCompat="@drawable/your_vector_drawable" <!-- vector drawable --> /> 
    • आप बटन , संपादन टेक्स्ट और रेडियो बटन के साथ ऐसा ही काम कर सकते हैं क्योंकि वे टेक्स्टव्यू से प्राप्त हुए हैं

उम्मीद है की यह मदद करेगा 🙂

यह समाधान अब सही नहीं है। 23.3.0 संस्करण वर्कर डैश करने से केवल ऐप के माध्यम से लोड किया जा सकता है: srcCompat या setImageResource ()

परत-सूची या चयनकर्ता में अपने सदिश को चित्रित करने की कोशिश करें:

 <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableRight="@drawable/ic_accessible_white_wrapped" android:background="@color/colorPrimary" android:textColor="#FFFFFF" android:textSize="22sp" android:text="Hello World!"/> 

ic_accessible_white_wrapped.xml:

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/ic_accessible_white_36px"/> </layer-list> 

सबसे अच्छा तरीका मैंने पाया:

 Drawable leftDrawable = AppCompatResources.getDrawable(this, R.drawable.ic_search); search.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null); 

यहां कुछ उत्तरों को पूरा करने के लिए: आप ड्रॉएबल drawableLeft (इत्यादि) के रूप में काम करने के लिए वेक्टर ड्रॉवबल प्राप्त कर सकते हैं लेकिन यह समर्थन लाइब्रेरी संस्करण पर निर्भर करता है और यह कीमत के साथ आता है।

किस मामले में यह काम करता है? मैंने इस आरेख को मदद के लिए बनाया है (समर्थन लाइब्रेरी 23.4.0 से – कम से कम – 25.1.0) के लिए।

वेक्टर ड्रेनेबल चीटशीट

Google से: एंड्रॉइड सपोर्ट लाइब्रेरी 23.3.0 के रूप में, वेक्टर डैशटेबल का समर्थन केवल एप के माध्यम से किया जा सकता है: srcCompat या setImageResource () ..

http://android-developers.blogspot.ru/2016/02/android-support-library-232.html

अन्य जवाबों में से कोई भी काम नहीं करता है, यहां बताया गया है कि कैसे मैंने एक VectorDrawable लिए एक TextView जोड़ा है, तो आपको Android L नीचे VectorDrawables साथ व्यवहार करते TextView , VectorDrawableCompat.create() उपयोग करना चाहिए:

 TextView titleTextView = (TextView) viewHolder.getView(android.R.id.text1); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Drawable leftDrawable = AppCompatResources .getDrawable(context, R.drawable.ic_tickbox); titleTextView.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null); } else { //Safely create our VectorDrawable on pre-L android versions. Drawable leftDrawable = VectorDrawableCompat .create(context.getResources(), R.drawable.ic_tickbox, null); titleTextView.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null); } 

संक्षिप्त, प्यारा और सटीक!

अगर आप बाइंडिंग का उपयोग कर रहे हैं, तो टेक्स्टव्यू में वैक्टर का उपयोग करने के लिए एक समान तरीका है उन्हें लपेटने की तरह:

 android:drawableLeft="@{@drawable/vector_ic_access_time_24px}" android:drawableStart="@{@drawable/vector_ic_access_time_24px}" 

यह जादुई काम करेगा, मैंने पर्दे के पीछे क्या हो रहा है की जांच नहीं की है, लेकिन मुझे लगता है कि getDrawable या समान से getDrawable विधि का उपयोग कर रहा है।

एक्सएमएल में वेक्टर ड्रॉबेट को सीधे सेट करना संभव है, लेकिन आप डेटा बाध्यकारी ढांचे को शामिल करते हैं।

बस लिखें

 <TextView ... android:drawableRight="@{@drawable/ic_accessible_white_36px}"/> 

और अपने पूरे लेआउट को एक <layout> टैग में लपेटते हैं, इसलिए मूलतः आपका एक्सएमएल ऐसा दिखेगा:

 <?xml version="1.0" encoding="utf-8"?> <layout> <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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="au.com.angryitguy.testsvg.MainActivity"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:drawableRight="@{@drawable/ic_accessible_white_36px}" android:text="Hello World!" android:textColor="#FFFFFF" android:textSize="22sp"/> </RelativeLayout> </layout> 

डेटा बाध्यकारी ढांचे को सक्रिय करने के लिए बस जोड़ दें

 android { .... defaultConfig { dataBinding { enabled = true } } } 

आपको बाध्यकारी पुस्तकालय के किसी भी अन्य विशेषताओं का उपयोग करने की आवश्यकता नहीं है

संपादित करें:

बेशक, यदि आप वेक्टर डैश्युलेट का उपयोग करना चाहते हैं तो पूर्व-लॉलीपॉप का उपयोग कर सपोर्ट वेक्टर डिज़ायर को सक्षम करना है

vectorDrawables.useSupportLibrary = true

तो अपने build.gradle को 2 नए आदेशों की आवश्यकता है:

 android { .... defaultConfig { vectorDrawables.useSupportLibrary = true dataBinding { enabled = true } } } 

धन्यवाद टिप्पणी के लिए rkmax

मैं इस प्रश्न का उत्तर देने में बहुत देर कर रहा हूं क्योंकि मैं इस समस्या से देर से रुका हुआ हूं। मेरे पास वही मुद्दा था जो एसटीवीजी / वेक्टर डिज़ायर के साथ टेक्स्टव्यू के साथ था अपनी खुद की कस्टम तैयार करने के बजाय मैं अपनी समस्या को नीचे दिए गए 2 लाइनों कोड के साथ ठीक करने में सक्षम हूं:

 Drawable drawableTop = AppCompatResources.getDrawable(view.getContext(), iconId); view.setCompoundDrawablesWithIntrinsicBounds(null, drawableTop, null, null); 

आशा है कि यह आपकी सहायता करेगा

मैंने इसके लिए एक लघु लाइब्रेरी तैयार की है – टेक्स्ट -्यूव्यू-अबाधित-ड्रॉएबल (यह भी यौगिक-ड्रॉएबल 'आकार और टिनिंग को परिभाषित करने में सहायता करता है)

 <com.tolstykh.textviewrichdrawable.TextViewRichDrawable android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Some text" app:compoundDrawableHeight="24dp" app:compoundDrawableWidth="24dp" app:drawableTopVector="@drawable/some_vector_drawble" app:drawableEndVector="@drawable/another_vector_drawable" app:drawableTint="@color/colorAccent" /> 

और निर्भरता

 compile 'com.tolstykh.textviewrichdrawable:textview-rich-drawable:0.3.2' 

यहां छवि विवरण दर्ज करें