0

我想在我的 Android 应用程序中拥有两个 UI 组件。

第一个是(有点单选按钮)文本,当点击/单击时,嵌入阴影气泡中出现:

单选按钮

参见 HTML 演示: http: //fiddle.jshell.net/Vq2A3/1/show/

第二种是可拖动卡片,在被拖动时以较大的阴影突出:

可拖动卡片

参见 HTML 演示: http: //fiddle.jshell.net/yVnz4/2/show/

在 Android 中实现这些东西的惯用方式是什么 - 即两态组件、圆角形状、嵌入阴影、可变框阴影、拖动?

我想学Android,所以不需要现成的组件。我更喜欢描述如何做到这一点的资源链接。

谢谢您的回答。

4

3 回答 3

0

您可以在 xml 文件中设置角点、阴影等,例如

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
                android:color="#449def" />
            <stroke
                android:width="1dp"
                android:color="#2f6699" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
                android:startColor="#449def"
                android:endColor="#2f6699"
                android:angle="270" />
            <stroke
                android:width="1dp"
                android:color="#2f6699" />
            <corners
                android:radius="4dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

对于拖动按钮,请尝试以下操作:

      button.setOnTouchListener(new OnTouchListener() {
         public boolean onTouch(View v, MotionEvent me){
             if (me.getAction() == MotionEvent.ACTION_MOVE  ){
                LayoutParams params = new LayoutParams(v.getWidth(), v.getHeight(),(int)(me.getRawX() - (v.getWidth() / 2)), (int)(me.getRawY() - (v.getHeight())));
                v.setLayoutParams(params);
             }
             return true;
         }
     });

有很多例子。在 google 中搜索,例如:“自定义按钮”、“拖放按钮”

于 2013-03-08T22:44:03.343 回答
0

您可以为按钮做的另一件事是使用图像按钮和 onClick 更改按钮的图片myButton.setImageDrawable(Image_drawable);

于 2013-03-09T00:52:32.573 回答
0

似乎最好的方法是使用 9-patch 图像。

其他有趣的解决方案:

相关主题:在 Android 上为自定义形状添加阴影

于 2013-03-15T10:31:52.877 回答