【发布时间】:2014-10-13 11:58:51
【问题描述】:
我有 4 个 imageButton , 当我单击其中一个按钮时,应在我创建的 imageView 上显示一个图层。
public void onClick(View v) {
switch(v.getId()){
case R.id.categoriaA1:
// add layer a1
break;
case R.id.categoriaA2:
// add layer a2
break;
case R.id.categoriaA3:
//add layer A3
break;
case R.id.categoriaA4:
// add layer A4
break;
myAvatar 是我的 ImageView。 有人可以帮我吗?
编辑这是我的 xml 代码(我在 4 个类别中有 20 个 imageButton)
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="1"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.settingavatar.MyAvatar" >
<!-- problemi con il dimensionamento -->
<ImageView
android:id="@+id/anteprimaAvatar"
android:layout_width="282dp"
android:layout_height="150dp"
android:background="@drawable/btn_background"/>
<!-- griglia che contiene le 4 categorie per i vari oggetti che si possono aggiungere all'avatar -->
<GridLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/anteprimaAvatar"
android:orientation="vertical" >
<!-- sottogriglia per la categoria A -->
<GridLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/categoriaA1"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/cata1"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaA2"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/cata2"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaA3"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/cata3"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaA4"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/cata4"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaA5"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:tag="accessorio" />
</GridLayout>
<!-- sottogriglia per la categoria B -->
<GridLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/categoriaB1"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catb1"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaB2"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catb2"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaB3"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catb3"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaB4"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catb4"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaB5"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:tag="accessorio" />
</GridLayout>
<!-- sottogriglia per la categoria C -->
<GridLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/categoriaC1"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catc1"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaC2"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catc2"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaC3"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catc3"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaC4"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catc4"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaC5"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:tag="accessorio" />
</GridLayout>
<!-- sottogriglia per la categoria D -->
<GridLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/categoriaD1"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catd1"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaD2"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catd2"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaD3"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catd3"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaD4"
android:layout_width="34dp"
android:layout_height="34dp"
android:background="@drawable/catd4"
android:tag="accessorio" />
<ImageButton
android:id="@+id/categoriaD5"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:tag="accessorio" />
</GridLayout>
</GridLayout>
【问题讨论】:
-
层是什么意思?布局还是什么?您可以按照其他人的建议更改图像视图,或者如果这是您想要做的,您可以在图像视图上隐藏/显示布局
-
我正在尝试做你的第二个选项,但我不知道怎么做。
-
它可以通过在图像视图上进行布局并隐藏它来轻松完成,然后单击按钮将该布局的可见性设置为 View.VISIBLE,如果您仍然对发布您的 xml 感到困惑,所以我可以帮助你的代码:)
-
查看最近发布的答案,您可以这样做来解决您的问题。只有 LinearLayout 或您使用的任何布局应与图像视图大小相同,希望对您有所帮助:)
-
看下面的答案