অ্যান্ড্রয়েড: একটি বোতাম বা ইমেজবটনে পাঠ্য এবং চিত্রের সমন্বয়


540

আমি একটি বোতামে একটি চিত্র (পটভূমি হিসাবে) রাখার চেষ্টা করছি এবং রান-টাইমের সময় যা ঘটছে তার উপর নির্ভর করে চিত্রটির উপরে / উপরে কিছু পাঠ্য রয়েছে।

আমি যদি ব্যবহার ImageButtonকরি তবে আমার কাছে পাঠ্য যুক্ত করার সম্ভাবনাও নেই। আমি যদি ব্যবহার Buttonকরি আমি পাঠ্য যুক্ত করতে পারি তবে কেবল এখানেandroid:drawableBottom বর্ণিত হিসাবে একই চিত্র এবং অনুরূপ এক্সএমএল বৈশিষ্ট্যগুলি সংজ্ঞায়িত করতে পারি

তবে এই বৈশিষ্ট্যগুলি কেবলমাত্র x- এবং y- মাত্রায় টেক্সট এবং চিত্রকে একত্রিত করে, যার অর্থ আমি আমার পাঠ্যের চারপাশে একটি চিত্র আঁকতে পারি, তবে আমার লেখার নীচে / নীচে নয় (z-axis দিয়ে প্রদর্শন থেকে বেরিয়ে আসা হিসাবে সংজ্ঞায়িত)।

কোন পরামর্শ কিভাবে এই কাজ করতে? একটি ধারণা হ'ল - thodতিহ্যকে প্রসারিত Buttonবা ImageButtonওভাররাইড করা draw()। তবে আমার বর্তমান জ্ঞানের স্তরের সাথে আমি কীভাবে এটি করতে পারি তা সত্যিই জানি না (2 ডি রেন্ডারিং)। হয়তো আরও অভিজ্ঞতার সাথে সমাধান সমাধান জানেন বা কমপক্ষে কিছু পয়েন্টার শুরু করার জন্য?


9 প্যাচ, স্মার্ট সমাধান ব্যবহার করুন
কাভে গর্শস্প

হাই @Charu ක এই চেক করুন যদি আপনি করতে পারেন stackoverflow.com/questions/42968587/...
মোহাম্মদ Rihan

উত্তর:


205

আপনি কল করতে পারেন setBackground()একটি উপর Buttonবোতাম পটভূমি সেট করতে।

যে কোনও পাঠ্য পটভূমির উপরে উপস্থিত হবে।

আপনি যদি এক্সএমএলে অনুরূপ কিছু সন্ধান করেন তবে সেখানে রয়েছে: android:backgroundঅ্যাট্রিবিউট যা একইভাবে কাজ করে।


49
আপনি যদি এই রুটে যান, আপনি ব্যাকগ্রাউন্ডের জন্য কেবল একটি সাধারণ অঙ্কনযোগ্য ব্যবহার করতে চান না। স্টেটলিস্টড্র্যায়েবল ব্যবহার করুন (সাধারণত <সিলেক্টর> এক্সএমএল ফাইলের মাধ্যমে রেজ / ড্রইয়েবল / এ), যাতে আপনি বিভিন্ন রাজ্যের (স্বাভাবিক, চাপযুক্ত, ফোকাসড, অক্ষম ইত্যাদি) ব্যাকগ্রাউন্ড নির্ধারণ করতে পারেন।
কমন্সওয়্যার

: আপনার সাথে একমত এবং এই প্রশ্নের জন্য বর্ণন আমার উত্তর stackoverflow.com/questions/1533038/...
m_vitaly

1
কিভাবে মূঢ়. ডকুমেন্টেশনে আমি কীভাবে এটি মিস করতে পারি। দ্রুত উত্তর দেওয়ার জন্য এবং <নির্বাচনকারী> এর সাথে ইঙ্গিতটিও ধন্যবাদ। এটি এমন কিছু যা আমি অবশ্যই ভবিষ্যতে বাস্তবায়ন করতে চাই।
znq

3
এটি আইসিএস 4.0+ সংস্করণে ঠিক কাজ করে না, চিত্রটি প্রসারিত করে। আমি একটি পটভূমি সহ একটি টেক্সটভিউ ব্যবহার করছিলাম।
meh

612

যে ব্যবহারকারীরা কেবল ব্যাকগ্রাউন্ড, আইকন-চিত্র এবং পাঠ্যকে Button বিভিন্ন ফাইল থেকে একটিতে রাখতে চান: একটি Buttonপটভূমিতে সেট করুন , অঙ্কনযোগ্য টপ / নীচে / তৃতীয় / বাম এবং প্যাডিং বৈশিষ্ট্য।

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/home_btn_test"
        android:drawableTop="@drawable/home_icon_test"
        android:textColor="#FFFFFF"
        android:id="@+id/ButtonTest"
        android:paddingTop="32sp"
        android:drawablePadding="-15sp"
        android:text="this is text"></Button>

আরও পরিশীলিত বিন্যাসের জন্য আপনি ব্যবহার করতে পারেন RelativeLayout(বা অন্য কোনও লেআউট) এবং এটিকে ক্লিকযোগ্য করে তুলতে পারেন।

টিউটোরিয়াল: গ্রেট টিউটোরিয়াল যে কভার উভয় ক্ষেত্রেই: http://izvornikod.com/Blog/tabid/82/EntryId/8/Creating-Android-button-with-image-and-text-using-relative-layout.aspx


70
এই প্রোগ্রামটিমেটিকটি করার b.setCompoundDrawablesWithIntrinsicBound(null,R.drawable.home_icon_test,null,null)পরিবর্তে পরিবর্তে android:drawableTopএবং b.setPadding(0,32,0,0)পরিবর্তে ব্যবহার করুন android:paddingTop
অ্যালেক্স জেসমিন

3
বোতাম হিসাবে একটি বিন্যাস ব্যবহার করা আসলে বেশ নমনীয় পদ্ধতি is
sstn

2
আপনি যদি আপনার অঙ্কনযোগ্যদের জন্য সংস্থান আইড ব্যবহার করছেন তবে কেবল 0 দিয়ে নালটি প্রতিস্থাপন করুন
রান করুন

1
আমি কীভাবে বোতামটি ফিট করতে ব্যাকগ্রাউন্ড চিত্রটি স্কেল করতে পারি?
অ্যালস্টন

: @Stallman একটি XML- ভিত্তিক এবং স্কেলিং কোড ভিত্তিক সমাধান নেই stackoverflow.com/questions/8223936/...
ওয়ান ওয়ার্ল্ড

346

এই সমস্যার জন্য আরও অনেক ভাল সমাধান রয়েছে।

শুধু একটি সাধারণ গ্রহণ Buttonকরুন drawableLeftএবং gravityবৈশিষ্ট্য এবং বৈশিষ্ট্য ব্যবহার করুন ।

<Button
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:drawableLeft="@drawable/my_btn_icon"
  android:gravity="left|center_vertical" />

এই ভাবে আপনি একটি বোতাম যা প্রদর্শন বোতাম বাম দিকে একটি আইকন এবং আইকনের অধিকার সাইট এ টেক্সট পেতে উল্লম্ব কেন্দ্রিক


2
আপনি যদি বোতামটিতে ব্যাকগ্রাউন্ড রঙ চয়ন করেন (যা সম্ভবত এই ক্ষেত্রে হয়) এই সমাধানের সাথে একটি সমস্যা দেখা দেয়। তারপরে ক্লিক বা নির্বাচনের কোনও গ্রাফিকাল প্রতিক্রিয়া থাকবে না। এটি পরিচালনা করতে আপনি কোনও নির্বাচক লিখতে পারেন, তবে তারপরে আপনি ফোনগুলি ডিফল্ট রঙ পাবেন না।
ভানজা

9
কেবল যুক্ত করতে চেয়েছিলেন যে ড্রয়যোগ্য প্যাডিং সম্পত্তিটি খুব কার্যকর যদি এই দ্রবণটি ব্যবহৃত হয়।
নিকোলা মালেসিভিć

5
এক্সএমএলে অঙ্কনযোগ্য আইকনের জন্য উচ্চতা এবং প্রস্থ নির্ধারণ করার কোনও উপায় আছে কি?
Penguru

18
এটি একটি দুর্দান্ত সমাধান এবং আনুষ্ঠানিকভাবে অ্যানড্রয়েড বিকাশকারী
সাইটেও

3
যদি বোতামটি বড় হয় এবং লেখাগুলি দৈর্ঘ্যের চেয়ে কুশ্রী দেখাচ্ছে: সর্বাধিক বামদিকে আইকন এবং মাঝখানে কোথাও পাঠ্য

67

এখানে চিত্র বর্ণনা লিখুন

     <Button
            android:layout_width="0dp"
            android:layout_weight="1"
            android:background="@drawable/home_button"
            android:drawableLeft="@android:drawable/ic_menu_edit"
            android:drawablePadding="6dp"
            android:gravity="left|center"
            android:height="60dp"
            android:padding="6dp"
            android:text="AndroidDhina"
            android:textColor="#000"
            android:textStyle="bold" />

4
একটি সহজ এবং ভুল সমাধান। শুধুমাত্র বাম প্রান্তিককরণের জন্য।
কুলমাইন্ড

2
@ কুলমাইন্ড আমি কেবল উপরের চিত্রটির জন্যই আমি ব্যাখ্যা করছি যা আমি সংযুক্ত করেছি .. আপনি যদি সঠিকভাবে
আঁকো

আমি এই উত্তরটি না পড়া পর্যন্ত আমি এটি করার কথা ভাবছিলাম না। এটি একটি মোহন মত কাজ করে!
Sud007

58

কেবল একটি লিনিয়ারলআউট ব্যবহার করুন এবং এটির একটি ভান করুন Button- সেটিংস backgroundএবং ক্লিকযোগ্যযোগ্য হ'ল চাবিকাঠি:

<LinearLayout
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:drawable/btn_default"
    android:clickable="true"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="5dp"
        android:src="@drawable/image" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_margin="5dp"
        android:text="Do stuff" />
</LinearLayout>

1
ক্লিকের প্রভাব কীভাবে যুক্ত করবেন?
ফ্র্যাঙ্কিশ

3
সেরা উত্তর, আপনি এইভাবে 100% চেহারা এবং অনুভূতিকে পরিচালনা করেন এবং আপনাকে কোনও সীমানায় আইকনটি আটকে রাখতে হবে না।
ক্লাইবাটিজ করুন

Frankish, অ্যাড android:onClickআপনার দৃশ্যে
Giora Guttsait

43

শুধু প্রতিস্থাপন

android:background="@drawable/icon"

সঙ্গে

android:background="@android:color/transparent"
android:drawableTop="@drawable/[your background image here]"

ইজ একটি দুর্দান্ত ভাল কৌশল ..;)


21

আমি এখানে বর্ণিত ব্যক্তিদের থেকে পৃথক পদ্ধতি নিয়েছি এবং এটি সত্যিই ভালভাবে কাজ করছে, তাই আমি এটি ভাগ করে নিতে চাই।

আমি বামদিকে চিত্রটি এবং কাস্টম-ডানদিকে পাঠ্য সহ একটি কাস্টম বোতাম তৈরি করতে স্টাইল ব্যবহার করছি। কেবল নীচের 4 টি "সহজ পদক্ষেপ" অনুসরণ করুন:

I. কমপক্ষে 3 টি পৃথক পিএনজি ফাইল এবং আপনার কাছে থাকা সরঞ্জামটি ব্যবহার করে আপনার 9 টি প্যাচগুলি তৈরি করুন: /YOUR_OWN_PATH/android-sdk-mac_x86/tools/./draw9patch। এর পরে আপনার উচিত:

বাটন_নির্মাল ...png, বাটন_ফোকাস .9.৯.পিএন এবং বাটন_প্রেস .9.পি.এন.পি.

তারপরে 24x24 পিএনজি আইকনটি ডাউনলোড বা তৈরি করুন।

ic_your_icon.png

আপনার অ্যান্ড্রয়েড প্রকল্পের অঙ্কনযোগ্য / ফোল্ডারে সমস্ত সংরক্ষণ করুন।

২। আপনার প্রকল্পে অঙ্কনযোগ্য / ফোল্ডারের অধীনে বাটন_স্লেক্টর.এক্সএমএল নামে একটি এক্সএমএল ফাইল তৈরি করুন। রাজ্যগুলির এইরকম হওয়া উচিত:

<item android:state_pressed="true" android:drawable="@drawable/button_pressed" />
<item android:state_focused="true" android:drawable="@drawable/button_focused" />
<item android:drawable="@drawable/button_normal" />

তৃতীয়। মান / ফোল্ডারে যান এবং স্টাইল.এক্সএমএল ফাইলটি খুলুন বা তৈরি করুন এবং নিম্নলিখিত XML কোডটি তৈরি করুন:

<style name="ButtonNormalText" parent="@android:style/Widget.Button">
    <item name="android:textColor" >@color/black</item>
    <item name="android:textSize" >12dip</item>
    <item name="android:textStyle" >bold</item>
    <item name="android:height" >44dip</item>
    <item name="android:background" >@drawable/button_selector</item>
    <item name="android:focusable" >true</item>
    <item name="android:clickable" >true</item>
</style>

<style name="ButtonNormalTextWithIcon" parent="ButtonNormalText">
    <item name="android:drawableLeft" >@drawable/ic_your_icon</item>
</style>

বাটননরমালটেক্সটভিথআইকন একটি "শিশু শৈলী" কারণ এটি বাটননরমালটেক্সট ("মূল শৈলী") প্রসারিত করছে।

দ্রষ্টব্য যে বাটননরমালটেক্সটওয়াইথ আইকন শৈলীতে অঙ্কনযোগ্য লেফট পরিবর্তন করে, অঙ্কনযোগ্য রাইট, অঙ্কনযোগ্য টপ বা অঙ্কনযোগ্য নীচে আপনি পাঠ্যের ক্ষেত্রে আইকনটিকে অন্য অবস্থানে রাখতে পারেন।

চতুর্থ। আপনি যেখানে ইউআই এর জন্য আপনার এক্সএমএল আছে সেই বিন্যাস / ফোল্ডারে যান এবং যেখানে আপনি স্টাইলটি প্রয়োগ করতে চান এবং এমন চেহারা তৈরি করতে চান সেই বোতামে যান:

<Button android:id="@+id/buttonSubmit" 
android:text="@string/button_submit" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
style="@style/ButtonNormalTextWithIcon" ></Button>

এবং ... voilà! আপনি বাম পাশে একটি ছবি সহ আপনার বোতামটি পেয়েছেন।

আমার জন্য এটি এটি করার সর্বোত্তম উপায়! কারণ এইভাবে করা আপনি বাটনটির পাঠ্য আকারটি আইকন থেকে আলাদাভাবে পরিচালনা করতে পারেন এবং স্টাইলগুলি ব্যবহার করে অ্যান্ড্রয়েড ইউআই গাইডলাইনগুলি সম্মান করে বিভিন্ন আইকন সহ বিভিন্ন বোতামের জন্য একই পটভূমি অঙ্কনযোগ্য ব্যবহার করতে পারেন।

আপনি আপনার অ্যাপ্লিকেশনটির জন্য একটি থিমও তৈরি করতে পারেন এবং এতে "প্যারেন্ট স্টাইল" যুক্ত করতে পারেন যাতে সমস্ত বোতাম দেখতে একই রকম হয় এবং কেবল যেখানে আপনার প্রয়োজন সেখানে আইকনটি দিয়ে "চাইল্ড স্টাইল" প্রয়োগ করুন।


ভাল কাজ. আমি ভিতরে একটি চিত্র ভিউ এবং টেক্সটভিউ সহ ফ্রেমলআউট ভিউ পদ্ধতির ব্যবহার করছিলাম তবে এই পদ্ধতিরটি আরও ভাল।
পাইক্রোপাইপ

দুর্দান্ত পদ্ধতি ফেসবুক এসডিকে (সংস্করণ 3) লগইন বোতামটির জন্য একই পন্থাটি নেয়
সোমবার কোথাও কোথাও


11

আপনি চিত্রটির জন্য drawableTop(এছাড়াও drawableLeft, ইত্যাদি) ব্যবহার করতে পারেন এবং এটি যুক্ত করে চিত্রের নীচে পাঠ্য সেট করতে পারেনgravity left|center_vertical

<Button
            android:id="@+id/btn_video"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:background="@null"
            android:drawableTop="@drawable/videos"
            android:gravity="left|center_vertical"
            android:onClick="onClickFragment"
            android:text="Videos"
            android:textColor="@color/white" />

11

গুরুত্বপূর্ণ আপডেট

স্বাভাবিক ব্যবহার করবেন না android:drawableLeftইত্যাদি ... ভেক্টর অঙ্কনযোগ্য সঙ্গে, অন্যথায় এটা হবে বিপর্যস্ত মধ্যে নিম্ন এপিআই সংস্করণ । (আমি লাইভ অ্যাপে এটির মুখোমুখি হয়েছি)

ভেক্টর আঁকার জন্য

আপনি যদি ভেক্টর অঙ্কনযোগ্য ব্যবহার করে থাকেন তবে অবশ্যই আপনার অবশ্যই

  • আপনি কি অ্যান্ড্রয়েডএক্সে স্থানান্তরিত হয়েছেন? যদি না হয় তবে আপনাকে অবশ্যই প্রথমে অ্যান্ড্রয়েডএক্সে মাইগ্রেট করতে হবে। এটি খুব সহজ, দেখুন অ্যান্ড্রয়েডেক্স কী এবং কীভাবে মাইগ্রেশন করবেন?
  • এটি সংস্করণে প্রকাশিত হয়েছিল 1.1.0-alpha01, সুতরাং অ্যাপকম্প্যাট সংস্করণটি কমপক্ষে হওয়া উচিত 1.1.0-alpha01। বর্তমানের সর্বশেষতম সংস্করণটি হ'ল 1.1.0-alpha02, ভাল নির্ভরযোগ্যতার জন্য সর্বশেষ সংস্করণগুলি ব্যবহার করুন, রিলিজ নোটগুলি দেখুন - লিঙ্ক

    implementation 'androidx.appcompat:appcompat:1.1.0-alpha02'

  • ব্যবহার AppCompatTextView/ AppCompatButton/AppCompatEditText

  • ব্যবহারের app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompatএবংapp:drawableEndCompat

নিয়মিত অঙ্কনযোগ্য জন্য

আপনার যদি ভেক্টর অঙ্কনযোগ্য না প্রয়োজন হয় তবে আপনি এটি করতে পারেন

  • ব্যবহারের android:drawableLeft, android:drawableRight, android:drawableBottom,android:drawableTop
  • আপনি এই ব্যবহার করতে পারেন নিয়মিত করতে পারেন TextView, Button& EditTextবা AppCompatক্লাস।

আপনি নীচের মত আউটপুট অর্জন করতে পারেন -

আউটপুট


আমি xmlns:app="http://schemas.android.com/apk/res-auto"নেমস্পেস ব্যবহার করছি এবং সেই অ্যাপ্লিকেশনটির তুলনামূলক জিনিসগুলি দেখতে পাচ্ছি না।
ডেল

1
@ ডেল আপনার নাম স্থান সঠিক, আমি আমার উত্তর আপডেট করেছি, For vector drawableআবার পয়েন্ট দেখুন ।
খেমরাজ

@ খেমরাজ আপনি যে চিত্রটি সংযুক্ত করেছেন তাতে কীভাবে আপনি একক দৃশ্যে অঙ্কনযোগ্য এবং পাঠ্য উভয়কে কেন্দ্র করে রাখছেন (কোনও পাঠ্যদর্শন বা বোতাম বা অন্য কিছু)?
আম্বর জৈন

7

সম্ভবত আমার সমাধান অনেক ব্যবহারকারীর জন্য উপযুক্ত হবে, আমি আশা করি hope

আমি এটি যেটি পরামর্শ দিচ্ছি তা হ'ল আপনার স্টাইলটি দিয়ে টেক্সটভিউ করা। এটি আমার পক্ষে নিখুঁতভাবে কাজ করে এবং একটি বোতামের মতো সমস্ত বৈশিষ্ট্য পেয়েছে।

প্রথমে বোতাম শৈলী তৈরি করতে দিন, যা আপনি যে কোনও জায়গায় ব্যবহার করতে পারেন ... আমি বোতাম_ইথ_হোভার.এক্সএমএল তৈরি করছি

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape android:shape="rectangle"  >
            <corners android:radius="3dip" />
            <stroke android:width="1dip" android:color="#8dbab3" />
            <gradient android:angle="-90" android:startColor="#48608F" android:endColor="#48608F"  />
        </shape>

        <!--#284682;-->
        <!--border-color: #223b6f;-->
    </item>
    <item android:state_focused="true">
        <shape android:shape="rectangle"  >
            <corners android:radius="3dip" />
            <stroke android:width="1dip" android:color="#284682" />
            <solid android:color="#284682"/>
        </shape>
    </item>
    <item >
        <shape android:shape="rectangle"  >
            <corners android:radius="3dip" />
            <stroke android:width="1dip" android:color="@color/ControlColors" />
            <gradient android:angle="-90" android:startColor="@color/ControlColors" android:endColor="@color/ControlColors" />
        </shape>
    </item>

</selector>

দ্বিতীয়ত, একটি পাঠ্যদর্শন বোতাম তৈরি করতে দেয়।

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dip"
    android:layout_gravity="right|bottom"
    android:gravity="center"
    android:padding="12dip"
    android:background="@drawable/button_with_hover"
    android:clickable="true"
    android:drawableLeft="@android:drawable/btn_star_big_off"
    android:textColor="#ffffffff"
    android:text="Golden Gate" />

এবং এটি একটি ফলাফল। তারপরে কোনও রঙ বা অন্য কোনও বৈশিষ্ট্য এবং মার্জিন সহ আপনার কাস্টম বোতামটি স্টাইল করুন। শুভকামনা

এখানে চিত্র বর্ণনা লিখুন


যদিও আমি আপনার কোডটি এখনও পরীক্ষা করতে পারছি না কারণ পদ্ধতির সঠিক বলে মনে হচ্ছে, তবে কোনও মোবাইল অ্যাপ্লিকেশনে হোভার ইফেক্ট হওয়ার কারণটি আমি বুঝতে পারি না।
মোহাম্মদ আক্তার জুবেরী

আমি আমার অ্যাপ্লিকেশনের জন্য হোভার ইফেক্ট তৈরি করেছি এবং সেই অ্যাপ্লিকেশনটি তৈরির সময় আমার হোভার এফেক্টের প্রয়োজন হয়েছিল। তবে এটি আপনার উপর নির্ভর করে :) এটি প্রয়োজন না হলে আপনি হোভার এফেক্ট মুছতে পারেন।
জেভেগেনিজ কনোনভ

আপনার উত্তরটি আমি খুব ভাল পদ্ধতির কারণে ভোট দিয়েছি। আমার একমাত্র পয়েন্টটি একটি মোবাইল ইন্টারফেসে রয়েছে আপনি কীভাবে ঘোরাবেন?
মোহাম্মদ আক্তার জুবেরী

ওও ... আমি এখন দেখছি ..: ডি ইয়েপ, আপনি ঠিক বলেছেন। এটা অসম্ভব. এই হোভার ইফেক্টটি বেশিরভাগ চাপের জন্য। এক্সএমএল ক্লাসের জন্য কেবলমাত্র ভুল নাম
জেভেনিজ কনোনভ


5

এই কোডটি আমার পক্ষে নিখুঁতভাবে কাজ করে

<LinearLayout
    android:id="@+id/choosePhotosView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center"
    android:clickable="true"
    android:background="@drawable/transparent_button_bg_rev_selector">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/choose_photo"/>

     <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@android:color/white"
        android:text="@string/choose_photos_tv"/>

</LinearLayout>

আমি আপনার কোডটি চেষ্টা করেছি .. এটি কাজ করে তবে আপনার কোডের প্রধান সমস্যা যদি প্রতিটি বোতামে বিভিন্ন পাঠ্য মাপের সাথে বোতাম সেট থাকে। আপনার বিন্যাস স্থানান্তরিত করা হবে। সুতরাং বোতামের প্রতিটি ছবির অবস্থান আলাদা জায়গায় থাকবে। এটি সরাসরি কেন্দ্রে থাকা উচিত। বোতামের সাথে এটিই ঘটে।
জেভেগেনিজ কনোনভ

0

আপনি এটি ব্যবহার করতে পারেন:

  <Button
                    android:id="@+id/reset_all"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="5dp"
                    android:layout_weight="1"
                    android:background="@drawable/btn_med"
                    android:text="Reset all"
                    android:textColor="#ffffff" />

                <Button
                    android:id="@+id/undo"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:layout_weight="1"
                    android:background="@drawable/btn_med"
                    android:text="Undo"
                    android:textColor="#ffffff" />

এটিতে আমি একটি চিত্র রেখেছি backgroundএবং পাঠ্যও যুক্ত করেছি ..!


0
<Button android:id="@+id/myButton" 
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:text="Image Button"
    android:drawableTop="@drawable/myimage"         
    />  

অথবা আপনি প্রোগ্রামগতভাবে করতে পারেন:

Drawable drawable = getResources.getDrawable(R.drawable.myimage);
drawable.setBounds(0, 0, 60, 60);
myButton.setCompoundDrawables(null, drawable, null, null);//to the Top of the Button

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.