0

我正在创建一个 android 应用程序,我想在其中添加一个水平滚动按钮来增加/减少计数器。

例如,如果用户向右滚动按钮,计数器应增加 1,向左滚动将使计数器减少 1。

请告诉我应该怎么做才能完成任务。看看具有我想要的功能的附加图像。

我希望计数器仅在用户滚动该特定按钮时增加,而不是当他在屏幕上的其他位置滑动时增加

在此处输入图像描述

4

1 回答 1

0

您可以使用 aSeekBar来增加或减少计数器。您可以使用的布局的一个简单示例可能是:

<LinearLayout 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:orientation="vertical" >

    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/counter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="0" >
    </TextView>

</LinearLayout>

代码是这样的:

import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;

public class MainActivity extends Activity {

    private TextView counter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Selects the TextView which holds the value of the counter
        this.counter = (TextView) findViewById(R.id.counter);

        SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar);
        // Sets the initial value of the SeekBar (it must be the same initial
        // value of the counter)
        seekBar.setProgress(0);
        // Sets the max value of the counter
        seekBar.setMax(100);
        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
            boolean fromUser) {
            // This code runs when you scroll the SeekBar to left or right.
            // If you scroll to the left, the counter decreases and if you
            // scroll to the right, the counter increases
            counter.setText(String.valueOf(progress));
        }
    });
}

}

于 2013-07-19T16:09:10.347 回答