কীভাবে বোতামের ছায়া (অ্যান্ড্রয়েড) সরিয়ে ফেলা যায়


168

এটিকে আরও সমতল দেখানোর জন্য আমি বোতাম থেকে ছায়া সরিয়ে ফেলতে চাই।

আমার এখনই এটি আছে:

ছায়া সহ বোতাম বাতিল করুন

তবে আমি এটি চাই:

ছায়া ছাড়াই বাতিল বোতাম


আমি এখানে মন্তব্য লিখি, এটি আমার পক্ষে কাজ। [ Stackoverflow.com/questions/27867284/... [1]: stackoverflow.com/questions/27867284/...
msamardzic

উত্তর:


404

অন্য বিকল্প যুক্ত করা হয়

style="?android:attr/borderlessButtonStyle"

আপনার বাটন XML হিসেবে এখানে নথিভুক্ত http://developer.android.com/guide/topics/ui/controls/button.html

একটি উদাহরণ হবে

<Button
android:id="@+id/button_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage"
style="?android:attr/borderlessButtonStyle" />

এটি বোতামের স্টাইলটি সরিয়ে দেয়, ছায়া এবং এম্বেসকে। আকার সহ একটি নির্বাচক যুক্ত করা alচ্ছিক। এটি আরও সঠিক উত্তর।
জুয়ান জোসে মেলেরো গেমেজ

35
এছাড়াও, আমি আমার বোতামটির জন্য একটি কাস্টম স্টাইল ব্যবহার করি। আপনি আপনার কাস্টম শৈলীটি এ থেকে প্রসারিত করতে পারেন: <শৈলীর নাম = "মাই কাস্টমবটন স্টাইল" প্যারেন্ট = "উইজেট App অ্যাপকম্প্যাট B বাটন.বর্ডারলেস">
টব্লিউগ

125

করার সহজ উপায় হ'ল আপনার বোতামে এই ট্যাগটি যুক্ত করা:

android:stateListAnimator="@null"

যদিও এটির জন্য এপিআই স্তর 21 বা তার বেশি প্রয়োজন ..


2
আমার কাছে খুব
পরিশ্রম

1
আমি এই পদ্ধতিটি আরও ভাল পছন্দ করি, এটি আরও নমনীয়।
আয়েজুনি ইলেমোবায়ো কিংস

অ্যালন কোগান, android:stateListAnimator অ্যাট্রিবিউটটি ব্যবহারের জন্য কোনও পিছিয়ে সামঞ্জস্য রয়েছে কি?
ব্লুওয়্যার

এই সমাধানটি আপনাকে শৈলীতে উত্তরাধিকার সূত্রে একটি স্টাইল বট তৈরি করতে borderlessButtonStyleদেয় যা আপনাকে আরও নমনীয়তা দেয়।
জুয়ান জোসে মেলেরো গমেজ

এটি কেবলমাত্র সমাধান যা আমার জন্য কাজ করা হয়েছে, সীমান্তহীন বাটন
স্টাইল

61

আমি একটি কাস্টম শৈলী ব্যবহার

<style name="MyButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless"></style>

যুক্ত করতে ভুলবেন না

<item name="android:textAllCaps">false</item>

অন্যথায় বোতামের পাঠ্যটি আপারকেসে থাকবে।



23

চেষ্টা করুন: android:stateListAnimator="@null"


9
যদিও এটি ওপির সমস্যার সমাধান করতে পারে, আমি এটিতে কিছু প্রসঙ্গ যুক্ত করার পরামর্শ দেব। এটি কেন সাহায্য করবে? এছাড়াও, "এটি চেষ্টা করুন" কিছুটা বিভ্রান্তিকর। আপনি কি নিশ্চিত যে এটি সমস্যার সমাধান করবে, বা কেবল অনুমান করে? যদি তা হয় তবে তার পরিবর্তে আপনার মন্তব্য লেখা উচিত।
জারজিলি পোলোনকাই

এটির জন্য এপিআই 21 প্রয়োজন
কুলমাইন্ড

14

ম্যাটেরিয়াল ডেসিং বোতামগুলি বোতামে এক্সএমএল যুক্ত করে: style="@style/Widget.MaterialComponents.Button.UnelevatedButton"


কখনও কখনও এটি স্ট্যাকওভারফ্লো.com /a/ 38004981 / 2914140 এর মতো , তবে অক্ষম অবস্থায় একটি ধূসর বোতাম হালকা হয়ে যায়।
কুলমাইন্ড

6

আপনার বোতামটির ব্যাকগ্রাউন্ড হিসাবে এটি ব্যবহারে আপনার প্রয়োজনের রঙ পরিবর্তন করতে পারে

<?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">
            <solid android:color="@color/app_theme_light" />
            <padding
                android:left="8dp"
                android:top="4dp"
                android:right="8dp"
                android:bottom="4dp" />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/app_theme_dark" />
            <padding
                android:left="8dp"
                android:top="4dp"
                android:right="8dp"
                android:bottom="4dp" />
        </shape>
    </item>
</selector>

4
এটি কীভাবে কাজ করে তা ব্যাখ্যা করতে পারেন? এটি আমার জন্য ড্রপ শেড সরিয়ে দেয়নি।
CACuzcatlan

এটি ছায়ার সাথে মূল ব্যাকগ্রাউন্ডের পরিবর্তে
দৃ solid়

3

@ অল্ট-ক্যাট উত্তরটি আমার পক্ষে কাজ করে!

আর.আট.আর.বির্ডারলেস বাটন স্টাইলের ছায়া নেই।

এবং বোতামের নথিটি দুর্দান্ত।

এছাড়াও, আপনি এই স্টাইলটি আপনার কাস্টম বোতামে, দ্বিতীয় কনস্ট্রাক্টরে সেট করতে পারেন।

    public CustomButton(Context context, AttributeSet attrs) {
        this(context, attrs, R.attr.borderlessButtonStyle);
    }

3

উপরের সমস্ত উত্তর দুর্দান্ত, তবে আমি অন্য একটি বিকল্প প্রস্তাব করব:

<style name="FlatButtonStyle" parent="Base.Widget.AppCompat.Button">
 <item name="android:stateListAnimator">@null</item>
 <!-- more style custom here --> 
</style>


এটি অ্যালন কোগনের সাথে সমান ( স্ট্যাকওভারফ্লো . com/ a/ 39122825 / 2914140 )।
কুলমাইন্ড

এটি উপরের 5ish চেয়ে আলাদা কীভাবে?
শূন্য ডিভিডার

2

একটি বোতামের পরিবর্তে, আপনি একটি টেক্সটভিউ ব্যবহার করতে পারেন এবং জাভা কোডটিতে একটি ক্লিক শ্রোতা যুক্ত করতে পারেন।

অর্থাত

ক্রিয়াকলাপ বিন্যাসে এক্সএমএল:

<TextView
    android:id="@+id/btn_text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimaryDark"
    android:text="@string/btn_text"
    android:gravity="center"
    android:textColor="@color/colorAccent"
    android:fontFamily="sans-serif-medium"
    android:textAllCaps="true" />

কার্যকলাপ জাভা ফাইলে:

TextView btnTextView = (TextView) findViewById(R.id.btn_text_view);
btnTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // handler code
            }
        });

এটি সঠিক উত্তর নয়, তবে আপনি আসলে আমার অনুরূপ সমস্যার সাথে আমার সমস্যাটি সমাধান করতে সহায়তা করেছেন, তাই আপনাকে ধন্যবাদ!
বক্স

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