添加/删除边框点击Android Java

Add/Remove border on-click Android Java

本问题已经有最佳答案,请猛点这里访问。

我想知道最简单的方法是用Java在Android Studio中从图像中添加和删除边框。我只想让用户知道他点击了图片(当然可以点击),而没有两个不同的.png。


把你的ImageView包在FrameLayout上,然后加上

android:foreground="?android:attr/selectableItemBackground"属性。

1
2
3
4
5
6
7
8
9
10
11
12
13
            <FrameLayout
                android:layout_width="48dp"
                android:layout_height="match_parent"
                android:foreground="?android:attr/selectableItemBackground">

                <ImageView
                    android:id="@+id/myButton"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    style="?android:borderlessButtonStyle"
                    android:scaleType="center"
                    android:src="@drawable/my_drawable" />
            </FrameLayout>


您可以在图像前添加1dp宽度的视图,并在需要显示边框时使其可见。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <View
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:visibility="invisible"/>
    <ImageView
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:src=""/>
</LinearLayout>


将图像放在布局中,然后用您希望的值填充布局。将OnClickListener设置为该图像视图,然后单击,更改放置图像的布局的背景色。您可以很容易地将其作为开关切换。

编辑:

宋承宪的回答比我的要清楚得多。请参考他的。