活动加载时按钮默认选择问题

时间:2016-01-07 05:39:24

标签: android button android-activity

**

  

我的应用中有两项活动。当点击主页按钮时,   第二项活动正常开始。在第二项活动中有三项   按钮: - 按钮1,按钮2,按钮3.所以我想要一秒钟   活动开始时,按钮1自动激活并显示   工作

**

2 个答案:

答案 0 :(得分:0)

第一步:创建一个按钮选择器xml,将其命名为" button_selector.xml",以便在打开第二个活动时显示活动

 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"><shape  android:shape="rectangle">
            <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" />

            <solid android:color="@color/button_active_color" />
        </shape></item>

    <item android:state_focused="true"><shape android:shape="rectangle">
            <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" />

            <solid android:color="@color/button_active_color" />
        </shape></item>

    <item><shape android:shape="rectangle">
            <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" />

            <solid android:color="@color/button_inactive_color" />
        </shape></item>
</selector>

第二步:在第二个活动按钮1中单击我们上面定义的侦听器设置按钮选择器

 button1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                button1.setBackgroundResource(R.drawable.button_selector);
            }
        });

第三步:(使按钮处于活动状态)onCreate()初始化button1后的第二个活动findViewById()方法中将其称为

  button1.performClick();

答案 1 :(得分:0)

创建一个drawable,将其应用于按钮android:background制作按钮1 android:enabled="false"

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/pink" android:state_enabled="false"/>
    <item android:drawable="@color/white" android:state_enabled="true"/>
    <item android:drawable="@color/white"/>
</selector>


在您的所有按钮的setOnClickListener()活动中。每当第二个活动开始时,运行按钮1任务。

    int lastSelectedViewId;

    @Override
    public void onClick(View view) {
        view.setEnabled(false);
        if (lastSelectedViewId != 0)
            findViewById(lastSelectedViewId).setEnabled(true);
        lastSelectedViewId = view.getId();

    }