相关疑难解决方法(0)

如何以编程方式将selectableItemBackground添加到ImageButton?

android.R.attr.selectableItemBackground存在,但是如何以编程方式将其添加到ImageButton?

另外,我将如何在文档中找到答案?这里提到,但我没有看到它是如何实际使用的任何解释.实际上,我似乎很少发现文档有用,但我希望这是我的错,而不是文档的错.

android attr r.java-file

49
推荐指数
3
解决办法
3万
查看次数

Android L波纹触控效果如何?

我有一个带有高程的圆角矩形,可以投射阴影,就像这里的例子一样:http://developer.android.com/preview/material/views-shadows.html#shadows

这是我的形状:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@android:color/white" />
    <corners android:radius="6dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

我希望获得其他所有内容的漂亮"涟漪"触摸效果,但是如果将其设置为视图的背景,则不会给出触摸反馈.形状保持白色.

所以,我把它变成了layer-list:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <solid android:color="@android:color/white" />
            <corners android:radius="6dp" />
        </shape>
    </item>
    <item android:drawable="?android:selectableItemBackground" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)

现在,当我点击它时,我得到了很好的触摸反馈,但是有一个问题.

圆角矩形的轮廓丢失了.它仍然可以将白色圆角矩形绘制得很精细,但是阴影会被渲染为非圆角矩形(方形边缘),并且波纹会一直延伸到角落之外:

坏角落

它在这里看起来并不太可怕,但在设备上它非常丑陋和令人反感.

有没有办法来解决这个问题?Outline第一个链接的部分似乎是我想要的,但我无法弄清楚如何实现它.

android android-5.0-lollipop

42
推荐指数
2
解决办法
4万
查看次数

有一个按钮在纹波动画结束时执行OnClickListener(材质主题)

我正在观察Android中按钮上的涟漪动画错误.基本上,我有一个ViewGroup,称它为ButtonContainer,包含2个按钮,称之为OkButton和CancelButton.当用户点击CancelButton时,我想通过将其可见性设置为GONE来隐藏ButtonContainer.但这会导致副作用,即CancelButton上的波纹动画排队,但从未播放,并且下次ButtonContainer变为可见时播放.这似乎发生是因为按钮的OnClickListener在波纹动画有机会播放之前被触发.本文描述了这个确切的错误,并显示了视图的确切行为:链接

笔者提出一个解决办法,但我想知道,有没有办法有OnClickListener被解雇上的按钮波纹动画的播放?

animation android android-5.0-lollipop

9
推荐指数
1
解决办法
2940
查看次数

Cardview连锁反应不起作用

最小SDK为21。当我在回收适配器中单击cardview时,不会发生波纹效应,而是转到下一个屏幕。recyclerview位于片段中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.v7.widget.CardView
        android:id="@+id/entire_card"
        android:layout_width="match_parent"
        android:layout_height="265dp"
        android:layout_margin="8dp"
        android:foreground="?android:attr/selectableItemBackground"
        app:cardUseCompatPadding="true"
        app:cardCornerRadius="2dp"
        >


        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ProgressBar
                android:id="@+id/progressbar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_centerHorizontal="true"
                android:paddingTop="120dp"
                android:visibility="visible"/>


            <ImageView
                android:id="@+id/pet_image"
                android:layout_width="match_parent"
                android:layout_height="210dp"
                android:layout_alignParentTop="true"
                android:scaleType="centerCrop"
                android:src="@drawable/placeholder"
                android:visibility="gone"
                 />

            <TextView
                android:id="@+id/pet_description"
                android:layout_width="fill_parent"
                android:layout_height="55dp"
                android:layout_below="@+id/pet_image"
                android:padding="10dp"
                android:textColor="#FFFFFF"
                android:visibility="gone"
                android:textSize="20sp"
                android:background="@color/primaryColour"
                />

        </RelativeLayout>
    </android.support.v7.widget.CardView>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

每个项目都有我的onClick的适配器代码。

public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
        public TextView petInfo;
        public ImageView imgURL;
        public ProgressBar progressBar;

        private Context itemContext;
        public ViewHolder(View v){
            super(v);
            imgURL = …
Run Code Online (Sandbox Code Playgroud)

android android-animation android-recyclerview cardview

2
推荐指数
2
解决办法
2397
查看次数