我想使用自定义视图,但我不知道如何获得高度。
具体代码:
<LinearLayout
android:id="@+id/timer_layout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical">
<com.zzb.resume.views.DotView
android:id="@+id/timer_line1"
android:layout_width="2dp"
android:layout_height="30dp" />
<ImageView
android:id="@+id/timer_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/timer_line1"
android:src="@mipmap/time2"/>
<com.zzb.resume.views.DotView
android:id="@+id/timer_line2"
android:layout_width="2dp"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
在DotView中,我得到height = 0,以及当layout_weight =&#34; 1&#34;时如何获得高度。
答案 0 :(得分:0)
导致您的imageview和dotView覆盖所有布局。您只需要在布局中添加weight_sum。http://developer.android.com/intl/es/reference/android/widget/LinearLayout.html#attr_android:weightSum
您不应该使用dp来设置大小,因为它不是绝对的。 最好的方法是设置它改变weight_sum-layout_weight率。
现在你有了weight_sum 3 如果您的某个视图的layout_weight = 1,则表示它将覆盖布局的%33。
<LinearLayout
android:id="@+id/timer_layout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:weight_sum=3;
android:gravity="center_horizontal"
android:orientation="vertical">
<com.zzb.resume.views.DotView
android:id="@+id/timer_line1"
android:layout_width="2dp"
android:layout_height="0"
android:layout_weight="1" />
<ImageView
android:id="@+id/timer_icon"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_below="@id/timer_line1"
android:src="@mipmap/time2"/>
<com.zzb.resume.views.DotView
android:id="@+id/timer_line2"
android:layout_width="2dp"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>