我看过这里的其他链接,但没有一个有效。我有一个LinearLayout(主容器是RelativeLayout),然后是LinearLayout内的ImageView和ImageView。我试图在主要的ImageView内容上放置一个播放按钮。
这是LinearLayout:
<LinearLayout android:orientation="horizontal" android:id="@+id/attach_previews_facebook" android:paddingLeft="64.0dip" android:layout_width="fill_parent" android:layout_height="150dip" android:layout_marginRight="8.0dip" android:layout_below="@id/attach_articles">
<ImageView android:id="@+id/attach_preview_1" android:visibility="visible"
android:layout_width="fill_parent" android:layout_height="match_parent"
android:scaleType="center"
android:layout_weight="1"/>
<ImageView android:id="@+id/videobtn" android:visibility="visible"
android:layout_width="fill_parent" android:layout_height="match_parent"
android:scaleType="center"
android:layout_weight="1"
android:background="@drawable/play_button"/>
</LinearLayout>
除了在attach_preview_1旁边放置播放按钮(而不是在其上面)之外,layout_weight不执行任何操作。
答案 0 :(得分:2)
看看FrameLayout
。此ViewGroup
将所有Views
堆叠在一起。
请参阅:http://developer.android.com/reference/android/widget/FrameLayout.html
注意:我强烈建议您使用ImageButton
或无边框按钮代替ImageView
进行此类任务。
更多信息:Buttons,ImageButton,Borderless
示例代码:
<FrameLayout
android:id="@+id/attach_previews_facebook"
android:layout_width="fill_parent"
android:layout_height="150dip"
android:layout_below="@id/attach_articles"
android:layout_marginRight="8.0dip"
android:paddingLeft="64.0dip" >
<ImageView
android:id="@+id/attach_preview_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="center"
android:visibility="visible" />
<ImageView
android:id="@+id/videobtn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/play_button"
android:scaleType="center"
android:visibility="visible" />
</FrameLayout>
答案 1 :(得分:2)
您可以使用Layer List
或FrameLayout
:
res / drawable / layers.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/android_red"
android:gravity="center" />
</item>
<item android:top="10dp" android:left="10dp">
<bitmap android:src="@drawable/android_green"
android:gravity="center" />
</item>
<item android:top="20dp" android:left="20dp">
<bitmap android:src="@drawable/android_blue"
android:gravity="center" />
</item>
</layer-list>
此布局XML将drawable应用于视图:
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/layers" />
<强>结果强>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:id="@+id/attach_previews_facebook" android:paddingLeft="64.0dip"
android:layout_width="fill_parent" android:layout_height="150dip" android:layout_marginRight="8.0dip"
>
<ImageView android:id="@+id/attach_preview_1" android:visibility="visible"
android:layout_width="fill_parent" android:layout_height="match_parent"
android:scaleType="center"
android:background="@drawable/iconevaleurs"
android:layout_weight="1"/>
<ImageView android:id="@+id/videobtn" android:visibility="visible"
android:layout_width="127dp" android:layout_height="66dp"
android:scaleType="center"
android:layout_weight="1"
android:background="@drawable/iconevaleurs"
android:layout_gravity="center_horizontal|top" />
</FrameLayout>