使用
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:right="245dp">
<shape android:shape="rectangle" >
<corners android:radius="3dp" />
<solid android:color="#000" />
</shape>
</item>
<item android:left="0dp">
<shape android:shape="rectangle" >
<corners android:radius="3dp" />
<solid android:color="#80000000" />
</shape>
</item>
</layer-list>`
一旦打开的片段完成(地址),+符号应该以'tick'的形式改变。如何使黑色矩形的不透明度降低?我仍然没有想出如何制作+符号,所以欢迎任何想法。
主要问题是:如何通过在android中使用代码来设置这些样式值?我想将第一项(245dp)的大小更改为按钮宽度的5%。
我的按钮布局:
<Button
android:id="@+id/button8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_marginTopPercent="7%"
app:layout_marginBottomPercent="6%"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
app:layout_widthPercent="50%"
android:layout_below="@id/button7"
android:background="@drawable/btnstyle"
android:text="Create"
android:textColor="#fff" />
和btnstyle定义如上。
答案 0 :(得分:3)
假设后台 background.xml 放在drawables文件夹中。 你可以用这个 -
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:background="@drawable/background"
android:orientation="horizontal">
<ToggleButton
style="?android:attr/borderlessButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:checked="false"
android:drawablePadding="80dp"
android:drawableRight="@drawable/button_image"
android:textColor="@android:color/white"
android:textOff="Button1"
android:textOn="Button1"/>
</LinearLayout>
对于drawable button_image.xml ,这是代码 -
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:state_focused="true" android:drawable="@drawable/plus_img"/>
<item android:state_checked="false" android:state_focused="false" android:drawable="@drawable/plus_img"/>
<item android:state_checked="true" android:state_focused="true" android:drawable="@drawable/tick_img"/>
<item android:state_checked="true" android:state_focused="false" android:drawable="@drawable/tick_img"/>
</selector>
在toggleButton的clickListener上,您可以打开片段并将togglebutton的setChecked打开到!toggleButton.isChecked()。基本上像这样 - toggleButton.setChecked(!toggleButton.isChecked());
关于不透明度 在您编写的xml中,矩形中第一项的颜色采用 #RGB 格式。它也可以是 #ARGB ,其中'A'代表alpha。因此,如果设置A = 0,视图将是透明的,并且A = f,视图将是不透明的。