android - زر الروبوت مع لون الخلفية وتموج تأثير




background ripple (3)

لدي زر الروبوت، حيث أريد أن تعطيه لون الخلفية وكلاهما تأثير تموج

بلدي تموج شمل هو على النحو التالي.

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:color="#BDA0CB"
    tools:targetApi="lollipop">
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color="#BDA0CB" />
        </shape>
    </item>
</ripple>

وزر بلدي هو

 <Button android:id="@+id/Button_activity_login_ViewProfile" style="?android:textAppearanceSmall"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_marginTop="16dp" android:text="Save"
        android:textStyle="bold"
        android:layout_marginLeft="@dimen/margin_left"
        android:layout_marginRight="@dimen/margin_right"
        android:textColor="#ffffffff"
        android:fontFamily="sans-serif"
        android:background="#ff7e51c2" />

لإعطاء تأثير مضاعف لدي لإزالة لون الخلفية ... هل هناك طريقة يمكنني الحفاظ على حد سواء.


هذا يمكن تحقيقه عن طريق إضافة الروبوت: دراوابل في ripple.xml الخاص بك.

قم أولا بإضافة هذا إلى color.xml. بافتراض أن # ff7e51c2 هو لون الخلفية الذي تريده للزر.

...
<color name="btn_bg_color">#ff7e51c2</color>
....

ثم أنشئ دروبايل لخلفية الزر (/drawable/btn_bg.xml):

<?xml version="1.0" encoding="utf-8"?><shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="2dp" />
<solid
    android:color="@color/btn_bg_color" />
</shape>

ثم استخدم دراوابل في ripple.xml:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item android:drawable="@drawable/btn_bg"/>
</ripple>

إنشاء ripple_effect.xml في المجلد القابل للرسم

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:color="#1182bc"
    tools:targetApi="lollipop">
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color="#1182bc" />
        </shape>
    </item>
</ripple>

استخدام هذا شمل كما خلفية وجهة نظرك مثل أدناه

android:background="@drawable/ripple_effect"

نأمل أن يساعد هذا ..


إنشاء نسختين مختلفتين من ملف شمل بحيث أنها ستعمل على الأجهزة قبل المصاصة.

دراوابل / button_effect.xml: -

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <solid android:color="#3ab5d6"/>
  <corners android:radius="3dp"/>
</shape>

drawable-V21 / button_effect.xml: -

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:tools="http://schemas.android.com/tools"
    android:color="#635a5a"
    xmlns:android="http://schemas.android.com/apk/res/android"
    tools:targetApi="lollipop">
    <item android:drawable="@drawable/round_button" />
</ripple>

خلق شكل دراوابل في مجلد دراوابل

دراوابل / round_button.xml: -

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#3ab5d6"/>
    <corners android:radius="3dp"/>
</shape>

يمكنك أن تفعل شيئا من هذا القبيل في layout.xml:

<Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/button_effect"/>




ripple