Android 按钮使用完全相同的代码,生成两种不同的样式
我有两组不同的按钮,一个在活动中,一个在列表视图中。它们的代码非常相似,但显示两种不同的样式 标题按钮集代码:Android 按钮使用完全相同的代码,生成两种不同的样式,android,android-layout,listview,android-button,Android,Android Layout,Listview,Android Button,我有两组不同的按钮,一个在活动中,一个在列表视图中。它们的代码非常相似,但显示两种不同的样式 标题按钮集代码: <Button android:id="@+id/invoices_1year" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="0.2" android:onClick="r
<Button
android:id="@+id/invoices_1year"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="0.2"
android:onClick="refresh"
android:text="@string/Invoices_1_year" />
而Listview的按钮代码为:
<Button
android:id="@+id/invoiceButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="0.25"
android:text="View Pdf" />
@ir2pid的Listview的Xml:
<ListView
android:id="@+id/InvoiceList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/searchArea" />
我在设备上获得的输出:
我的预期结果是两个按钮集看起来相同 在drawable文件夹中创建round.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" >
<shape android:shape="rectangle" >
<corners android:radius="3dip" />
<stroke android:width="1dip" android:color="#5e7974" />
<gradient android:angle="-90" android:startColor="#e4d46f" android:endColor="#e4d079" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="rectangle" >
<corners android:radius="3dip" />
<stroke android:width="1dip" android:color="#c7cf2d" />
<solid android:color="#e9da67"/>
</shape>
</item>
<item >
<shape android:shape="rectangle" >
<corners android:radius="3dip" />
<stroke android:width="1dip" android:color="#e7d851" />
<gradient android:angle="-90" android:startColor="#e4d079" android:endColor="#87cf8d" />
</shape>
</item>
</selector>
在Bala Raja的回答之后,我找到了通用材质设计按钮xml,并将其修改为仅使用我指定的颜色 这是我的round.xml
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="@dimen/abc_button_inset_horizontal_material"
android:insetTop="@dimen/abc_button_inset_vertical_material"
android:insetRight="@dimen/abc_button_inset_horizontal_material"
android:insetBottom="@dimen/abc_button_inset_vertical_material">
<shape android:shape="rectangle">
<corners android:radius="@dimen/abc_control_corner_material" />
<solid android:color="@color/ButtonGray" /> // My CUSTOM COLOR
<padding android:left="@dimen/abc_button_padding_horizontal_material"
android:top="@dimen/abc_button_padding_vertical_material"
android:right="@dimen/abc_button_padding_horizontal_material"
android:bottom="@dimen/abc_button_padding_vertical_material" />
</shape>
//我的定制颜色
在buttom xml中,将backgound更改为
android:background=“@drawable/round”
您可能在不知不觉中在列表视图或活动上应用了主题,如果有任何这样的覆盖,也可以尝试在style.xml中查找。您想要相同的颜色吗?是的,我想要相同的颜色。我将把listview的Xml添加到原始文章中。我不认为我正在将主题应用于列表视图。在Android Studio预览布局中的每个列表视图项目中,您是否看到Android Studio预览中的按钮颜色为白色,它们与标题按钮的颜色相同。
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="@dimen/abc_button_inset_horizontal_material"
android:insetTop="@dimen/abc_button_inset_vertical_material"
android:insetRight="@dimen/abc_button_inset_horizontal_material"
android:insetBottom="@dimen/abc_button_inset_vertical_material">
<shape android:shape="rectangle">
<corners android:radius="@dimen/abc_control_corner_material" />
<solid android:color="@color/ButtonGray" /> // My CUSTOM COLOR
<padding android:left="@dimen/abc_button_padding_horizontal_material"
android:top="@dimen/abc_button_padding_vertical_material"
android:right="@dimen/abc_button_padding_horizontal_material"
android:bottom="@dimen/abc_button_padding_vertical_material" />
</shape>