我的闹钟设计布局listView
如下图所示。
custom_row_view
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp">
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="Time"
android:paddingLeft="40dp"
android:paddingTop="15dp"
android:textColor="@color/black"
android:textStyle="bold"
/>
<ToggleButton
android:id="@+id/switchAlarm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff=""
android:textOn=""
android:layout_marginLeft="200dp"
android:drawableTop="@mipmap/switch_alarm"
/>
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Text"
android:id="@+id/textView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Text"
android:layout_marginRight="@+id/textView"
android:id="@+id/textView1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Text"
android:layout_marginRight="@+id/textView1"
android:id="@+id/textView2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Text"
android:layout_marginRight="@+id/textView2"
android:id="@+id/textView3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Text"
android:layout_marginRight="@+id/textView3"
android:id="@+id/textView4" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Text"
android:layout_marginRight="@+id/textView4"
android:id="@+id/textView5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Text"
android:layout_marginRight="@+id/textView5"
android:id="@+id/textView6" />
</LinearLayout>
</LinearLayout>
当调用此布局时,我的应用程序崩溃了。
4-14 23:49:10.491 31175-31175/com.example.seng.clock E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12
at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:471)
at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:5906)
at android.widget.LinearLayout$LayoutParams.<init>(LinearLayout.java:1854)
at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1766)
at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:58)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:748)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at Adapter.MyCustomBaseAdapter.getView(MyCustomBaseAdapter.java:68)
at android.widget.AbsListView.obtainView(AbsListView.java:2232)
答案 0 :(得分:11)
从以下代码中删除android:layout_marginRight="@+id/textView"
。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Text"
android:layout_marginRight="@+id/textView"
android:id="@+id/textView1" />
您不能将视图作为保证金。
答案 1 :(得分:0)
来自文档:ViewGroup.MarginLayoutParams
参数(我提供了可以使用的公共属性。但是还有更多),只接受正值,不应该用作对视图中另一个视图,元素或子项的引用。
而不是视图参考,根据文档:
android:layout_marginStart: 指定此视图起始侧的额外空间。这个空间超出了这个视野的范围。保证金价值应为正数。 可以是一个维度值,它是一个浮点数,附加一个单位,例如&#34; 14.5sp&#34;。可用单位为: px (像素), dp (与密度无关的像素), sp (基于首选字体大小的缩放像素),< strong> in (英寸), mm (毫米)。
因此必须将该行更改为:
android:layout_marginStart = "10dp"
android:layout_marginLeft="10dp"