【问题标题】:How to show effect on like button like facebook shows如何在 Facebook 节目中显示喜欢按钮的效果
【发布时间】:2016-05-13 22:10:31
【问题描述】:

我有一个布局,其中我有一个简单的 textview 按钮,并且我已经应用了 onclick 事件。现在我想显示当 Facebook android 应用程序中的“赞”按钮被点击新闻提要时 facebook 显示的相同效果。

如何在我的 android 应用程序中执行此操作。如果您有任何想法,请帮助我。

【问题讨论】:

  • 你想实现 Facebook 类似按钮或只是那种效果?
  • 使用选中和未选中的drawable为like/unlike创建一个selector drawable。
  • 不,我有 textview,只是想在该 textview 上添加效果,就像 facebook 显示的按钮一样。
  • @PrithnirajNicyone 你的意思是 facebook like button 的 drawable 上的动画吗?

标签: android facebook facebook-like effect


【解决方案1】:

如果您只想在按钮被触摸时提供高亮效果,请使用选择器。

将其保存为 xml drawable 并将此 drawable 分配给按钮:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/btn_white_09_rectangle_unpressed" android:state_focused="true"
        android:state_pressed="false" />
    <item android:drawable="@drawable/btn_white_09_rectangle_pressed" android:state_focused="true"
        android:state_pressed="true" />
    <item android:drawable="@drawable/btn_white_09_rectangle_pressed" android:state_focused="false"
        android:state_pressed="true" />
    <item android:drawable="@drawable/btn_white_09_rectangle_unpressed" />
</selector>

创建上述 xml 正在使用的其他 2 个可绘制 xml 文件。 btn_white_09_rectangle_unpressed.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item >
        <shape
            android:shape="rectangle"
            >
            <corners
                android:radius="9dp"/>

            <gradient
                android:angle="45"
                android:endColor="#27FFFFFF"
                android:startColor="#18FFFFFF"
                />
        </shape>
    </item>
</layer-list>

btn_white_09_rectangle_pressed.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item >
        <shape
            android:shape="rectangle"
            >
            <corners
                android:radius="11dp"/>
            <gradient
                android:angle="90"
                android:endColor="#09FFFFFF"
                android:startColor="#02FFFFFF"
                />
        </shape>
    </item>
</layer-list>

如果您想在用户单击按钮时更改按钮的背景(而不是还原),那么您必须通过代码来完成。 在您的 onClick() 中使用以下代码

your_button.setBackgroundResource(R.id.desired_drawable);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    • 2012-02-25
    • 1970-01-01
    相关资源
    最近更新 更多