0

我有大约 6 张图像,我在我的应用程序中用作选项卡。它只是图像,它们不是 android 提供的选项卡。
所以我的问题是,当我单击图像时,我想用另一个图像替换图像,以便它可以让用户知道选择了哪个选项卡。
我所做的是在我的布局中为此创建不同的 xml。但是这样做很乏味,因为我不能为每个图像创建不同的 xml。
我现在要做的是使用这个但没有得到结果。

怎么可能用于这个?

4

1 回答 1

1

它非常简单。您不必为每个图像/选项卡制作不同的 xml。您只需制作一个 xml 并将此 xml 包含在需要这些图像的每个 xml 中..在 xml 中仅设置一个图像为选中,其余未选中.假设image1保持image1选中,其余未选中。单击image2将重定向到activity2。在activity2中设置image2选中,其余未选中,其余活动相同。这种方式将是最简单的方法。相信我,我有实现了这一点,也会对你有所帮助。你可以问我任何类型的问题。

我已经完成了 4 张图片,但在你的情况下将有 6 张。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
    <Button 
        android:id="@+id/btn1"
        style="@style/toolButton"
        android:background="@drawable/image1"           
        android:gravity="center"
        />

    <Button 
        android:id="@+id/btn2"
        style="@style/toolButton"
        android:background="@drawable/image2"
        android:gravity="center"
        />

    <Button 
        android:id="@+id/btn3"
        style="@style/toolButton"
        android:background="@drawable/image3"
        android:gravity="center"/>

    <Button 
        android:id="@+id/btn4"
        style="@style/toolButton"
        android:background="@drawable/image4"
        android:gravity="center"
       />
    </LinearLayout>
</RelativeLayout>

这里是 style.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="toolButton">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">45dip</item>
        <item name="android:gravity">center_horizontal</item>
        <item name="android:layout_gravity">center_vertical</item>
        <item name="android:layout_weight">5</item>
        <item name="android:layout_marginBottom">0dip</item>
        <item name="android:layout_marginTop">0dip</item>
    </style>

</resources>
于 2012-07-05T11:15:00.603 回答