您好我正在开发应用程序。我的应用程序在所有设备上运行都很完美。但是当我们在mdpi手机上运行此应用程序时,它给我带来了这个错误:
Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12.
请在我错的地方帮助我。
这是我的代码: -
<RelativeLayout
android:id="@+id/LevLayId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="140dp" >
<TextView
android:id="@+id/totlScorId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@drawable/score_timer"
android:gravity="center"
android:textColor="#ffffff" />
<TextView
android:id="@+id/levelId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/score_timer"
android:gravity="center"
android:textColor="#ffffff" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/LayAboButId"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/option_last_row"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="7px"
android:orientation="horizontal" >
<Button
android:id="@+id/opt3Btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/option_normal_new"
android:gravity="center|center_vertical"
android:textColor="#ffffff"
android:textSize="11dp" />
<Button
android:id="@+id/opt4Btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/option_normal"
android:gravity="center|center_vertical"
android:textColor="#ffffff"
android:textSize="11dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/option_pre_row"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/option_last_row"
android:layout_marginBottom="3px"
android:orientation="horizontal" >
<Button
android:id="@+id/opt1Btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/option_normal_new"
android:gravity="center|center_vertical"
android:textColor="#ffffff"
android:textSize="11dp" />
<Button
android:id="@+id/opt2Btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/option_normal"
android:gravity="center|center_vertical"
android:textColor="#ffffff"
android:textSize="11dp" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/imgLayId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginRight="@id/totlScorId"
android:layout_marginTop="70dp" >
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<ImageView
android:id="@+id/imgViewId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<ImageView
android:id="@+id/imgViewframeId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/photo_frame" />
</RelativeLayout>
答案 0 :(得分:2)
使用一个Parent布局并使用以下XML代码而不是代码,它将解决您的问题。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:id="@+id/LevLayId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="140dp" >
<TextView
android:id="@+id/totlScorId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@drawable/score_timer"
android:gravity="center"
android:textColor="#ffffff" />
<TextView
android:id="@+id/levelId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/score_timer"
android:gravity="center"
android:textColor="#ffffff" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/LayAboButId"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/option_last_row"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="7px"
android:orientation="horizontal" >
<Button
android:id="@+id/opt3Btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/option_normal_new"
android:gravity="center|center_vertical"
android:textColor="#ffffff"
android:textSize="11dp" />
<Button
android:id="@+id/opt4Btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/option_normal"
android:gravity="center|center_vertical"
android:textColor="#ffffff"
android:textSize="11dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/option_pre_row"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/option_last_row"
android:layout_marginBottom="3px"
android:orientation="horizontal" >
<Button
android:id="@+id/opt1Btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/option_normal_new"
android:gravity="center|center_vertical"
android:textColor="#ffffff"
android:textSize="11dp" />
<Button
android:id="@+id/opt2Btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/option_normal"
android:gravity="center|center_vertical"
android:textColor="#ffffff"
android:textSize="11dp" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/imgLayId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginRight="@id/totlScorId"
android:layout_marginTop="70dp" >
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<ImageView
android:id="@+id/imgViewId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<ImageView
android:id="@+id/imgViewframeId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/photo_frame" />
</RelativeLayout>
</RelativeLayout>
答案 1 :(得分:0)
刚开始接受这个,所以发现导致它的变化。 就我而言,这是因为我必须为新设备创建一个新的布局目录layout-xhdpi。 现在,新设备认为它是大型的#34; (即它使用布局中的布局 - 大);但它真的是xhdpi。
所以在新的布局xml中,我添加了对values-large / dimens.xml中的值的引用
但是,这不起作用。
使用引用的值创建values-xhdpi / dimens.xml,解决了问题。
TL; DR确保每个layout-XXXXX目录都有一个值-XXXXX目录,并且所有相关值都在那里。我相信适用于所有尺寸的值都可以在values / dimens.xml中找到,但这不是我的应用程序的结构,所以我无法证明。