使用两个按钮(正/负)或一个并更改文本?

时间:2014-05-07 14:39:58

标签: android

我很好奇其他人如何解决这个问题:

当有一个允许用户互相订阅的应用程序时,你应该更好地使用两个按钮,一个带有"订阅"文本和另一个"取消订阅"文本或只是在布局中使用一个按钮,并在单击按钮后更改文本?

2按钮解决方案

XML:

    <Button
        android:id="@+id/subscribe"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Subscribe"
        android:visibility="gone" />

    <Button
        android:id="@+id/unsubscribe"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Unsubscribe"
        android:visibility="gone" />

爪哇:

// update subscribe buttons
if (userProfile.getID() != user.getUserID()) {
    if (userProfile.hasSubscribed()) {
        unsubscribeView.setVisibility(View.VISIBLE);
    }
    else {
        subscribeView.setVisibility(View.VISIBLE);
    }
}

    subscribeView.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            subscribe = 1;
            subscribe();
        }
    });

    unsubscribeView.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            subscribe = -1;
            subscribe();
        }
    });

1按钮解决方案 XML:

<Button
        android:id="@+id/subscribe"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="gone" />

爪哇:

// update subscribe buttons
if (userProfile.getID() != user.getUserID()) {
    if (userProfile.hasSubscribed()) {
        subscribeView.setText("Unsubscribe");
    }
    else {
        subscribeView.setText("Subscribe");
    }
}

subscribeView.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        if (userProfile.hasSubscribed()) {
            subscribe = -1;
        }
        else {
            subscribe = 1;
        }
        subscribe();
    }
});

1 个答案:

答案 0 :(得分:1)

使用一键式方法。

尽量保持用户界面尽可能干净,并避免使用可见但不起作用的按钮。