【问题标题】:Button Get Shrink as I Press onClick Android当我按下 onClick Android 时,按钮会收缩
【发布时间】:2020-10-16 07:40:46
【问题描述】:

我正在使用具有我在 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>

当我点击按钮时,它改变了它的颜色,它改变了颜色,但按钮被缩小了

 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

当我点击 Button Facebook 时,当我点击 URL 时,它会缩小并变为原始大小,反之亦然......

【问题讨论】:

  • 请显示图片
  • 只是添加图片
  • 请分享用户界面
  • 设置高度值会更好android:layout_height="@dimen/_50sdp"
  • 按钮大小与我按下按钮时保持相同

标签: android android-studio kotlin android-fragments button


【解决方案1】:

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

<stroke android:color="@color/transparent" android:width="4dp" />

我假设文件是​​R.drawable.button_bg_rounded_corners,而R.drawable.button_bg_rounded_corners_main 中没有笔划。

还要检查你的圆角半径,我不知道sdp 是什么,但是如果两个文件中的半径不匹配,并且一个稍大,它可能会影响大小,因为它定义了整个形状而不是只是角落。也许吧!

【讨论】:

    【解决方案2】:

    对于您的 ButtonShrink 案例,您应该添加 android:layout_height 值。

    指定视图的基本高度。这是一个必需的属性 对于包含布局管理器内的任何视图

    不要

    <Button
        android:layout_height="wrap_content"
    

    试试

    <Button
          android:layout_height="@dimen/_50sdp"
    

    【讨论】:

    • 应用高度后保持不变的收缩问题
    猜你喜欢
    • 2013-12-19
    • 2016-01-17
    • 2015-11-21
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多