【问题标题】:TextView over button disappears when the button is pressed按下按钮时,TextView over button 消失
【发布时间】:2021-07-10 11:22:56
【问题描述】:

我的应用有问题(android studio、java)。

  1. 我在按钮上添加了一个 textview 来设置它的样式。
  2. 最初,我在XML中为textview设置了android:elevation="2",否则根本不会出现。
  3. 现在,当您按下按钮时,文本视图会消失。
  4. 我尝试制作一个 setOnTouchListener,将按钮的高度设置为 1,以便在我停止按下按钮后显示文本
  5. 添加监听器后,只有在按住按钮时才会显示文本视图

我希望文本视图始终可见。有小费吗?

learnButton.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                learnButton.setElevation(1);
                return false;
            }
        });
<Button
        android:id="@+id/buttonLearn"
        android:layout_width="match_parent"
        android:layout_marginStart="10dp"
        android:layout_marginEnd="10dp"
        android:layout_height="100dp"
        android:background="@drawable/style_bg_light"
        android:layout_marginTop="125dp"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:id="@+id/textViewLearn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        android:fontFamily="@font/dosis"
        android:text="Button Continue"
        android:elevation="2dp"
        android:layout_marginStart="12dp"
        android:layout_marginTop="5dp"
        android:textColor="@color/black"
        android:layout_alignTop="@+id/buttonLearn"
        android:layout_alignStart="@+id/buttonLearn"/>

【问题讨论】:

    标签: java android xml


    【解决方案1】:

    如果您想要最佳实践,您需要设置按钮本身的样式或设置文本样式并将点击侦听器放在TextView 而不是Button

    例如:

    <TextView
        android:id="@+id/learn"
        android:width="200pd"
        android:height="48dp"
        android:background="@drawable/button_bg"
        android:gravity="center"
        android:textColor="@color/white"
        android:text="Click To Learn" />
    

    而要添加到drawable文件夹的文件button_bg.xml,将包含:

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

    文件button_bg.xml处理点击的波纹效果,文件static_button_bg.xml包含按钮的样式,它是:

    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="#66EFEFF4" />
        <corners android:radius="8dp" />
    </shape>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 2011-10-19
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多