问题描述
||
在我最外面的布局管理器中,我得到了以下信息:
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:orientation=\"horizontal\" android:layout_margin=\"2dp\"
android:id=\"@+id/linearlayout1\" android:layout_weight=\"1\">
<com.me.android.ui.ImageView
android:id=\"@+id/artistimage\" android:layout_height=\"177dp\"
android:layout_width=\"wrap_content\" android:scaleType=\"centerCrop\"
android:layout_margin=\"5dp\" />
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\" android:layout_height=\"fill_parent\"
android:orientation=\"vertical\" android:layout_alignParentTop=\"true\"
android:layout_weight=\"1\">
<TextView android:layout_height=\"wrap_content\"
android:textSize=\"24dp\" android:paddingBottom=\"5dp\"
android:textStyle=\"bold\" android:paddingLeft=\"5dp\"
android:paddingTop=\"5dp\" android:layout_width=\"fill_parent\"
android:textColor=\"@color/redtext\" android:id=\"@+id/artistname\" />
<ToggleButton android:id=\"@+id/artistfav\"
android:layout_alignParentRight=\"true\" android:background=\"@drawable/favbutton\"
android:textOff=\" \" android:textOn=\" \" android:layout_marginTop=\"5dp\"
android:layout_width=\"fill_parent\" android:layout_height=\"30dp\"
android:layout_marginRight=\"10dp\" android:text=\"Add to Favorites\"
android:scaleType=\"fitXY\" />
</LinearLayout>
</LinearLayout>
请记住,这两个linearlayouts
嵌套在最外面的布局管理器中,而恰好也是linearlayout
。我只想让我在这里应付的每两个exactly恰好占父母的一半。我以为我可以将每个linearlayout
经理的权重设置为1,但不要掷骰子。例如,现在图像占父图像的70%...
我究竟做错了什么?
编辑:
好的,我将其更改为此,图像占据了一半的布局。真好!但是textview和按钮消失了。
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:orientation=\"horizontal\" android:layout_margin=\"2dp\"
android:id=\"@+id/linearlayout1\">
<com.me.android.ui.ImageView
android:id=\"@+id/artistimage\" android:layout_height=\"177dp\"
android:layout_width=\"fill_parent\" android:scaleType=\"centerCrop\"
android:layout_margin=\"5dp\" android:layout_weight=\"1\" />
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\" android:layout_height=\"fill_parent\"
android:orientation=\"vertical\" android:layout_weight=\"1\">
<TextView android:layout_height=\"wrap_content\"
android:textSize=\"24dp\" android:paddingBottom=\"5dp\"
android:textStyle=\"bold\" android:paddingLeft=\"5dp\"
android:paddingTop=\"5dp\" android:layout_width=\"0dip\"
android:textColor=\"@color/redtext\" android:id=\"@+id/artistname\" />
<ToggleButton android:id=\"@+id/artistfav\"
android:layout_alignParentRight=\"true\" android:background=\"@drawable/favbutton\"
android:textOff=\" \" android:textOn=\" \" android:layout_marginTop=\"5dp\"
android:layout_width=\"0dip\" android:layout_height=\"30dp\"
android:layout_marginRight=\"10dp\" android:text=\"Add to Favorites\"
android:scaleType=\"fitXY\" />
</LinearLayout>
</LinearLayout>
解决方法
由于外部的
LinearLayout
是horizontal
,因此将其子元素的android:layout_width
设置为0dip
。然后,仅android:layout_weight
将控制大小。
,嗯,这对我有用:
<com.me.android.ui.ImageView
android:id=\"@+id/artistimage\" android:layout_height=\"150dp\"
android:layout_width=\"fill_parent\" android:scaleType=\"centerCrop\"
android:layout_margin=\"5dp\" android:layout_weight=\"1\" />
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\" android:layout_height=\"fill_parent\"
android:orientation=\"vertical\" android:layout_weight=\"1\" >
<TextView android:layout_height=\"wrap_content\"
android:textSize=\"22dp\" android:paddingBottom=\"5dp\"
android:textStyle=\"bold\" android:paddingLeft=\"5dp\"
android:paddingTop=\"5dp\" android:layout_width=\"fill_parent\"
android:textColor=\"@color/redtext\" android:id=\"@+id/artistname\"/>
<ToggleButton android:id=\"@+id/artistfav\"
android:layout_alignParentRight=\"true\" android:background=\"@drawable/favbutton\"
android:textOff=\" \" android:textOn=\" \" android:layout_marginTop=\"5dp\"
android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\"
android:layout_marginRight=\"10dp\"
/>
</LinearLayout>
</LinearLayout>
,您已将textview和button的宽度指定为0,以解释为什么它们不可见的原因