android - 当我按下onClick Android时按钮会缩小

标签 android android-studio kotlin android-fragments button

我正在使用具有在Drawable xml文件中创建的背景的按钮。这些按钮在设计中看起来不错,但是在运行时,当我按一下Click时,其大小会缩小,而当我在设计中单击其他按钮时,上一个按钮的大小会转到初始Android ...
这是我的按钮Xml文件

    <Button
    android:id="@+id/btn_facbookid"
    android:layout_width="@dimen/_95sdp"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/_15sdp"
    android:layout_marginRight="@dimen/_10sdp"
    android:background="@drawable/button_bg_rounded_corners_main"
    android:fontFamily="@font/poppins_light"
    android:text="@string/url"
    android:textColor="@color/textcolorblack"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@id/tv_facebook"
    android:textStyle="bold"
    app:layout_constraintStart_toEndOf="@+id/btn_facbookurl"
    />

<Button
    android:id="@+id/btn_facbookurl"
    android:layout_width="@dimen/_180sdp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/_15sdp"
    android:layout_marginTop="@dimen/_15sdp"
    android:fontFamily="@font/poppins_light"
    android:background="@drawable/button_bg_rounded_corners"
    android:text="@string/facebookid"
    app:layout_constraintStart_toStartOf="parent"
    android:textColor="@color/whitecolor"
    app:layout_constraintTop_toBottomOf="@id/tv_facebook"
    android:textStyle="bold"
    app:layout_constraintEnd_toStartOf="@+id/btn_facbookid"   
    />
我为按钮创建的选择器可绘制布局布局是
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
        <gradient
            android:startColor="#8420CA"
            android:endColor="#46CEFC"
            android:angle="45"/>
        <stroke android:color="@color/transparent" android:width="4dp" />
        <!--corners allow us to make the rounded corners button-->
        <corners android:radius="@dimen/_50sdp" />
    </shape>
</item>

场景是当我单击Button时,它会更改颜色,它会更改颜色,但Button会收缩
 btn_facbookurl.setOnClickListener(View.OnClickListener {
        btn_facbookurl.background= 
        ContextCompat.getDrawable(this,R.drawable.button_bg_rounded_corners)
        btn_facbookid.background= 
        ContextCompat.getDrawable(this,R.drawable.button_bg_rounded_corners_main)
        btn_facbookurl.setTextColor(getColor(R.color.whitecolor))
        btn_facbookid.setTextColor(getColor(R.color.textcolorblack))
        url_facebookedit.setHint("Enter Facebook ID Here")
    })
    btn_facbookid.setOnClickListener(View.OnClickListener {
        btn_facbookid.background= 
        ContextCompat.getDrawable(this,R.drawable.button_bg_rounded_corners)
        btn_facbookurl.background= 
        ContextCompat.getDrawable(this,R.drawable.button_bg_rounded_corners_main)
        btn_facbookid.setTextColor(getColor(R.color.whitecolor))
        btn_facbookurl.setTextColor(getColor(R.color.textcolorblack))
        url_facebookedit.setHint("Enter Facebook URL Here")
    })
这是UI Pic1
Pic 2
当我点击按钮Facebook时,它会缩小并达到原始尺寸,这是因为我点击了网址,反之亦然。

最佳答案

您正在按钮周围添加透明笔触(这将使填充区域变小)

<stroke android:color="@color/transparent" android:width="4dp" />
我假设文件是​​R.drawable.button_bg_rounded_corners,而笔画不在R.drawable.button_bg_rounded_corners_main中。
还要检查您的拐角半径,我不知道sdp是什么,但是如果两个文件中的半径都不匹配,并且半径稍大,则可能会影响大小,因为它定义了整个形状而不仅仅是拐角。也许!

关于android - 当我按下onClick Android时按钮会缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64384886/

相关文章:

Android Studio BumbleBee 对 wifi 不工作

kotlin - 扩展函数内部不可变 val null 检查

java - NfcAdapter 不可为空,但由@Provides @Singleton @javax.annotation.Nullable android.nfc.NfcAdapter 提供

android - 限制用户在 RecyclerView 中滚动

Android ArrayAdapter getView 无法获得正确的位置

android - 独立世博会(ExpoKit)推送通知

android - 使用 Android Espresso 框架模拟用户在系统 Activity 中的点击

java - 从联系人姓名而不是数字解析 URI 号码

android - 迁移到 Android Studio 1.5 后任务 ':tess-two:processReleaseResources' 执行失败

android - 模拟器的位置模拟不起作用