gpt4 book ai didi

安卓多状态切换

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:53:25 26 4
gpt4 key购买 nike

我想创建类似这个 slider 的东西: enter image description here

android 有没有办法定义一个三态 slider ?我是 android 开发的新手,所以请尽可能多地包含示例代码,这将非常有帮助。

最佳答案

一个简单的例子就像下面的代码。你可以稍微玩一下图形,你会得到你想要的。

layout/main.xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/TableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp" >

<include
android:id="@+id/tableRow1_ref"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
layout="@layout/description" />

<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:max="100" />

<include
android:id="@+id/tableRow1_ref"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
layout="@layout/description" />

<SeekBar
android:id="@+id/seekBar2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:max="100" />

</TableLayout>

layout/description.xml

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:paddingLeft="5dp"
android:text="@string/kid" />

<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@string/adult" />

<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:paddingRight="5dp"
android:text="@string/senior" />

</TableRow>

MainActivity.java

package com.test.Slider;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;

public class MainActivity extends ActionBarActivity
implements OnSeekBarChangeListener{

SeekBar sb1, sb2;

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

sb1 = (SeekBar)findViewById(R.id.seekBar1);
sb2 = (SeekBar)findViewById(R.id.seekBar2);

sb1.setOnSeekBarChangeListener(this);
sb2.setOnSeekBarChangeListener(this);
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// we don't need it
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// we don't need it
}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
int mProgress = seekBar.getProgress();
if(mProgress > 0 & mProgress < 26) {
seekBar.setProgress(0);
} else if(mProgress > 25 & mProgress < 76) {
seekBar.setProgress(50);
} else seekBar.setProgress(100);
}
}

输出:

screenshot of sliders

关于安卓多状态切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11920704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com