如何定义具有自定义背景和属性的class StudentView(sqa.Model):
__tablename__ = 'test_view'
id = sqa.Column(sqa.Integer, primary_key=True)
name = sqa.Column(sqa.String)
age = sqa.Column(sqa.Integer)
score = sqa.Column(sqa.Integer)
Button
?
使用此代码会忽略"?attr/selectableItemBackground"
属性,但不会显示触摸反馈。
"?attr/selectableItemBackground"
使用其他代码可选择有效,但我失去了背景颜色:
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:foreground="?attr/selectableItemBackground"/>
答案 0 :(得分:3)
尝试设置
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
主要布局活动示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.petercarlim.myapplication.MainActivity">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:background="@android:color/darker_gray"
android:foreground="?android:attr/selectableItemBackground"/>
</LinearLayout>
或者在布局中设置父级(调用此布局的其他布局):
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
答案 1 :(得分:3)
好吧,您可以选择parent
创建父级并将background
提供给白色,并使用selectableItemBackground
作为孩子的背景。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="vertical">
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"/>
</LinearLayout>
答案 2 :(得分:0)
您应该为此编写一个特殊的绘图对象
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<selector>
<item android:drawable="@drawable/your_drawable_rounded_enabled" android:state_enabled="true"/>
<item android:drawable="@drawable/your_drawable_rounded_disabled" android:state_enabled="false"/>
</selector>
</item>
<item android:drawable="?attr/selectableItemBackground"/>
</layer-list>