我有一个horizontal linear layout
有一个textview
和button
但是当我应用背景颜色按钮时,就像文本视图一样,我找不到两者之间的任何差异。
我想格式化我的按钮,以便它与文本视图的识别方式不同。
有按钮和文本视图的布局图。
在上图中,Selected Option
是textview,Update
是按钮,因为你可以看到两者看起来很相似。
任何人都可以帮助我,因为我不知道如何做到这一点。
感谢您的时间。
答案 0 :(得分:1)
Button
和TextView
之间几乎没有区别。 Button
仅从TextView
延长。如果您查看Button
public class Button extends TextView {
public Button(Context context) {
this(context, null);
}
public Button(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.buttonStyle);
}
public Button(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
super.onInitializeAccessibilityEvent(event);
event.setClassName(Button.class.getName());
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setClassName(Button.class.getName());
}
}
编辑:
但是,如果您只想更改Button
的背景颜色而不更改默认样式,则可以执行以下操作,
btnName.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000));
如果在xml文件中有任何内容,请务必从android:background=""
中删除android:src=""
或Button
。
此代码仅更改背景颜色而不影响默认样式。您可以使用标准HEX颜色代码更改背景颜色。
参考
答案 1 :(得分:1)
查看此sample它可以应用于按钮的各种样式。 一切都只用颜色完成。
答案 2 :(得分:0)
// Try this way,hope this will help you..
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:background="@color/button_default"> // set your background color here
<TextView
android:id="@+id/txtSelectedOption"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selected Option"/>
</LinearLayout>
<Button
android:id="@+id/btnUpdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Update"/>
</LinearLayout>