我读了许多关于this或this或this等问题的其他问题,但没有人适合我。
我需要创建一个自定义样式表单CardView。这是我的代码:
style.xml
<resources >
...
<style name="CardViewStyle" parent="CardView">
<item name="app:cardBackgroundColor">#d9edf7</item>
</style>
</resources>
my_card.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/CardViewStyle">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/txvId"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txvDatetime"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v7.widget.CardView>
在我的app gradle文件中
compileSdkVersion 26
minSdkVersion 19
targetSdkVersion 26
implementation 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:recyclerview-v7:26.1.0'
compile 'com.android.support:cardview-v7:26.1.0'
不太可能这对我不起作用。什么都没发生,但我没有发现问题。 如果我不使用自定义样式并直接执行:
my_card.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:cardBackgroundColor="#d9edf7" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/txvId"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txvDatetime"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v7.widget.CardView>
工作正常。但我需要使用自定义样式。
答案 0 :(得分:2)
不要在cardview中设置主题而不是样式
更改此
android:theme="@style/CardViewStyle"
要
style="@style/CardViewStyle"
它的工作。
答案 1 :(得分:0)
<ScrollView 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"
android:padding="6dp"
tools:context="in.a.a.a.a">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView_sylb"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:lineSpacingExtra="8sp"
android:padding="5dp"
android:text="Coming soon"
android:textAlignment="textStart"
android:textIsSelectable="false"
android:textSize="14sp"
android:typeface="serif" />
</android.support.v7.widget.CardView>
</ScrollView>