我正在使用具有在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 当我点击按钮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/