আমি কীভাবে লিনিয়ারলআউটের পরিবর্তে একটি যৌগের অঙ্কনযোগ্য ব্যবহার করব যাতে একটি চিত্রবিউ এবং একটি টেক্সটভিউ রয়েছে


198

আমার কোডের বিপরীতে নতুন লিন্ট সরঞ্জামটি চালান। এটি অনেক ভাল পরামর্শ নিয়ে এসেছিল, তবে এটি আমি বুঝতে পারি না।

এই ট্যাগ এবং তার বাচ্চাদের এক এবং একটি যৌগিক অঙ্কনযোগ্য দ্বারা প্রতিস্থাপিত হতে পারে

সমস্যা: বর্তমান নোডটি যৌগিক ড্রয়যোগ্য ব্যবহার করে টেক্সটভিউ দ্বারা প্রতিস্থাপন করা যাবে কিনা তা পরীক্ষা করে।

একটি লিনিয়ারলআউট যাতে একটি চিত্র ভিউ এবং একটি টেক্সটভিউ রয়েছে আরও কম দক্ষতার সাথে যৌগিক অঙ্কনযোগ্য হিসাবে পরিচালনা করা যায়

এবং এখানে আমার লেআউট

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_centerInParent="true">

<ImageView 
    android:id="@+id/upImage"
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:layout_gravity="center_vertical"
    android:scaleType="centerInside"
    android:src="@drawable/up_count_big">
</ImageView>

<TextView
    android:id="@+id/LikeCount"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="2dp"
    android:layout_marginBottom="1dp"
    android:textColor="@color/gray"
    android:textSize="16sp"
    android:layout_gravity="center_vertical">
</TextView>
</LinearLayout>

এই ক্ষেত্রে কোনও যৌগকে কীভাবে অঙ্কনযোগ্য করে তোলা যায় তার একটি দৃ concrete় উদাহরণ কেউ দিতে পারেন?


4
fww এটি যে চেকগুলির মধ্যে আমি সাধারণত অক্ষম করি তা মিথ্যা ধনাত্মকতার কারণে। সমস্ত TextView/ ImageViewকম্বোকে এইভাবে প্রতিস্থাপন করা যায় না।
রিচার্ড লে ম্যাসুরিয়ার

@ রিচার্ডলিমেসুরিয়ার আপনি যদি কোনও আকারের চিত্র নির্ধারণ করতে চান তবে আপনি কাস্টম ভিউটি ব্যবহার করতে পারেন। এটি আপনার দৃষ্টিভঙ্গি হালকা করে তুলবে। আমার উত্তর দেখুন: stackoverflow.com/a/31916731/2308720
ওলেকসান্ডার

@ অ্যালেক্স আমি অনেক ক্ষেত্রেই একমত, তবে আমার অভিজ্ঞতায় আমার প্রায়শই আমি কচি লিন্ট চেক বলে মনে করি তার কাছাকাছি পেতে একটি কাস্টম ভিউ তৈরির ঝামেলাটি মূল্যহীন নয়।
রিচার্ড লে ম্যাসুরিয়ার

উত্তর:


258

TextView 4 টি যৌগিক অঙ্কনযোগ্য, বাম, শীর্ষ, ডান এবং নীচে প্রত্যেকের জন্য একটি সহ আসে।

আপনার ক্ষেত্রে, আপনি প্রয়োজন হবে না LinearLayoutএবং ImageViewএ সব। শুধু android:drawableLeft="@drawable/up_count_big"আপনার যোগ করুন TextView

দেখুন TextView # setCompoundDrawablesWithIntrinsicBounds আরও তথ্যের জন্য।


34
অগত্যা, যেমন আপনার লিঙ্কটি গতিশীল চিত্র সহ একটি উদাহরণ দেখায়। সেক্ষেত্রে এটি ব্যবহার করা আরও সহজ বা পছন্দনীয় ImageView। সতর্কবাণীতে বলা হয়েছে 'প্রতিস্থাপন করা যেতে পারে', 'দ্বারা' প্রতিস্থাপন করা উচিত নয়
ডেভিড ও'মায়েরা

9
তবে আমি কীভাবে চিত্র এবং পাঠ্যের মধ্যে কিছুটা জায়গা তৈরি করতে পারি
হিতেশ ধামশানিয়া

7
এক্সট্রাএমএল বা কোডে ড্রয়যোগ্য প্যাডিং সম্পত্তি ব্যবহার করে @ হিটেশ ধামশানিয়া।
স্নিকোলাস

2
আমার ক্ষেত্রে, আমি একটি অভ্যন্তরীণ চিত্রদর্শন / টেক্সটভিউ সহ একটি লিনিয়ারলআউটে চলে এসেছি কারণ অ্যান্ড্রয়েড: অঙ্কনযোগ্য লেফট পর্যাপ্ত নিয়ন্ত্রণের প্রস্তাব দেয় না - সুতরাং, আপনি মূলত আমাকে যা বলছেন তা হ'ল এই সতর্কতা / পরামর্শটি মিথ্যা।
BrainSlugs83

5
এটি মিথ্যা নয়, কিছু ক্ষেত্রে একটি টেক্সটভিউ সত্যই দক্ষ হতে পারে। তবে সাধারণভাবে - হ্যাঁ, টেক্সটভিউ সহ চিত্রকল্পটি আরও সমৃদ্ধ নিয়ন্ত্রণ সরবরাহ করে।
21lǝ

20

যদি কোনও কারণে আপনাকে কোডের মাধ্যমে যুক্ত করতে হয় তবে আপনি এটি ব্যবহার করতে পারেন:

mTextView.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);

যেখানে বাম, উপরে, ডান নীচেটি ড্রয়যোগ্য


উপরের এপিআই 17
লাগবে

আমি মনে করি না, ডকুমেন্টেশনগুলি এপিআই 1
জাভিয়ের পি

এই লিঙ্কটি [ডকুমেন্টেশন] (দেখুন developer.android.com/reference/android/widget/... , android.graphics.drawable.Drawable, android.graphics.drawable.Drawable, android.graphics.drawable.Drawable))
Puni

হ্যাঁ পদ্ধতির নামের সাথে সম্পর্কিতটি নোট করুন ;) আমি উত্তরে এর সাথে উল্লেখ করছি না
জাভিয়ের পি

3

এটি যুক্ত করতে - এই পোস্ট অনুযায়ী অঙ্কনযোগ্য দৈর্ঘ্য এবং উচ্চতা নির্ধারণ করা গুরুত্বপূর্ণ বলে মনে হচ্ছে:

(তার কোড কাজ করে)


1

আপনি সাধারণ যৌগিক অঙ্কনযোগ্য বাস্তবায়ন ব্যবহার করতে পারেন, তবে আপনাকে যদি এই লাইব্রেরিটির আকারের অঙ্কনযোগ্য কিছু নির্দিষ্ট করতে প্রয়োজন হয়:

https://github.com/a-tolstykh/textview-rich-drawable

এখানে ব্যবহারের একটি ছোট উদাহরণ রয়েছে:

<com.tolstykh.textviewrichdrawable.TextViewRichDrawable
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Some text"
        app:compoundDrawableHeight="24dp"
        app:compoundDrawableWidth="24dp" />
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.