运行时带有素材卡的Android应用程序崩溃

时间:2015-03-01 18:52:52

标签: android

我正在尝试使用材质设计卡开发一个应用程序,如下所示:http://goo.gl/7kC9Ej。 我的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
              xmlns:tools="http://schemas.android.com/ tools"
             xmlns:card_view="http://schemas.android.com/apk/res-auto">

    <android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_view"
        android:layout_gravity="center"
        android:layout_width="200dp"
        android:layout_height="200dp">

        <TextView
            android:id="@+id/text_view"             
            android:layout_width="match_parent"    
            android:layout_height="match_parent"       
            android:text="@string/hello_world"  />      

</android.support.v7.widget.CardView>
</LinearLayout>

应用程序编译正常但在我打开时崩溃

这是我的错误日志:http://goo.gl/etne6I

2 个答案:

答案 0 :(得分:0)

您忘记在主线性布局中添加layout_height和layout_width。用以下代码替换你的xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
              xmlns:tools="http://schemas.android.com/tools"
             xmlns:card_view="http://schemas.android.com/apk/res-auto"
             android:layout_width="match_parent"    
            android:layout_height="match_parent" 
            android:orientation ="verticle">

    <android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_view"
        android:layout_gravity="center"
        android:layout_width="200dp"
        android:layout_height="200dp">

        <TextView
            android:id="@+id/text_view"             
            android:layout_width="match_parent"    
            android:layout_height="match_parent"       
            android:text="@string/hello_world"  />      

</android.support.v7.widget.CardView>
</LinearLayout>

答案 1 :(得分:0)

你有两个问题:

  1. 您没有指定线性布局的宽度和高度
  2. 您已将文字放在textview.
  3. 之外

    将其更改如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    
    <android.support.v7.widget.CardView
        android:id="@+id/card_view"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        card_view:cardCornerRadius="4dp">
    
        <TextView
            android:id="@+id/info_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="@string/hello_world" />
    </android.support.v7.widget.CardView>
    </LinearLayout>
    

    如果此代码在任何其他布局中引用(使用<include ...>等),请确保您也指定了layout_widthlayout_height