使按钮在图像视图上显示和消失

时间:2011-03-17 06:50:14

标签: android

我有一个图像视图,我想创建两个按钮,使用户可以转到下一个或上一个图像。当用户点击图像时,按钮应该出现,而在第二次点击时,按钮应该消失。如何做到这一点?

1 个答案:

答案 0 :(得分:6)

幸运的是,目前我正在研究同样的事情,这是我的代码修改它以满足您的需求

xml代码

<?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="fill_parent">
    <ImageView
        android:id="@+id/image"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
    <LinearLayout
        android:id="@+id/button_holder"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:visibility="gone">
        <Button
            android:id="@+id/buy"
            android:text="Buy"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
        <Button
            android:id="@+id/cancel"
            android:text="Cancel"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>
</RelativeLayout>

主要代码

Button mBuy = (Button) findViewById(R.id.buy);
    mBuy.setOnClickListener(new OnClickListener()
    {           
        @Override
        public void onClick(View v)
        {

        }
    });

    Button mCancel = (Button) findViewById(R.id.cancel);
    mCancel.setOnClickListener(new OnClickListener()
    {           
        @Override
        public void onClick(View v)
        {
            finish();
        }
    });
    ImageView mView = (ImageView) findViewById(R.id.image);
    mView.setOnClickListener(new OnClickListener()
    {           
        @Override
        public void onClick(View v)
        {
            LinearLayout mLayout = (LinearLayout) findViewById(R.id.button_holder);
            if(!isVisible)
            {
                isVisible = true;
                mLayout.setVisibility(View.VISIBLE);
            }
            else
            {
                isVisible = false;
                mLayout.setVisibility(View.GONE);
            }
        }
    });