在 Snack 中使用滑块示例


有时,任务是在给定范围内递增一个数字。为此,可以使用不同类型的滑块。不同的库允许在移动应用程序中使用滑块。本文展示了 React Native 和 Javascript 代码,其中包含两个不同的示例,第一个示例使用“@react-native-community/slider”组件“Slider”。在另一个示例中,使用“rn-arc-slider”中的圆形滑块 ArcSlider 来制作滑块,然后将其渲染到设备的屏幕上。

示例 1:使用来自“react-native-community/slider”的 Slider 打印数字的乘法表。

算法

  • 步骤 1 − 从“react-native”导入 Text、View、StyleSheet。还从“@react-native-community/slider”导入 Slider。

  • 步骤 2 − 创建 App.js 并编写代码。

  • 步骤 3 − 创建一个类并编写带有状态变量(包括映射器)的构造函数。滑块的值可用于某些任务,例如打印数字的乘法表。

  • 步骤 4 − 编写用于递增或更改映射器值的功能。

  • 步骤 5 − 创建滑块并指定最小值和最大值,并使用该函数更改值。

  • 步骤 6 − 检查结果。

项目中使用的重要文件是

  • App.js

App.js:这是该项目的 javascript 主文件。

示例

import { Component } from 'react';
import { Text, View, StyleSheet} from 'react-native';
import Slider from '@react-native-community/slider';

var maxvalforslider= 50;

export default class TableShowWithSliderApp extends Component {
   constructor(props) {
      super(props);
      this.state = {
         mapper:0,
         tableOf:3
      }
   }
   componentDidMount() {
      setInterval(this.incrementmapper,1000);
   }
   incrementmapper = () => {
      if (this.state.mapper < maxvalforslider)
      this.setState({ mapper: this.state.mapper +1 });
   }
   render() {
      return (
         <View>
            <Text style={styles.textSty}>Showing Multiples of A Number</Text>
            <Textstyle={{color: "#A00", marginTop: 10, padding :10}}>Start of Slider Value: 0</Text>
            <Text style={{color: "#00A", marginTop: 10, padding :10}}>End of Slider Value: {maxvalforslider}</Text>

            <Slider
            style={{width: 300, height: 40}}
            value={this.state.mapper}
            onValueChange={mapper => this.setState({mapper})}
            minimumValue={0}
            maximumValue={maxvalforslider}
            minimumTrackTintColor="#CCC"
            maximumTrackTintColor="#000"
            step={1}

            />
            <Text style={styles.textSty}>{"Table of : " +   this.state.tableOf}
            </Text>
            <Text style={{color: "#000", fontSize: 30, marginTop: 10, padding :10}}>{ this.state.tableOf +"*" + + this.state.mapper+ "=" + this.state.mapper *this.state.tableOf }</Text>

         </View>
      );
   }
}
const styles = StyleSheet.create({
   textSty: {
      textAlign: 'center',
      fontSize: 20,
      padding:10,
      marginTop: 20,
   },
}); 

输出

当用户在代码中输入时,Web 视图会默认选中,结果会立即显示。

示例 2:使用来自“rn-arc-slider”的 ArcSlider 打印数字的乘法表。

算法

  • 步骤 1 − 从“react-native”导入 Text、View、StyleSheet、SafeAreaView。还从“rn-arc-slider”导入 ArcSlider。

  • 步骤 2 − 创建 App.js 并编写代码。

  • 步骤 3 − 创建一个类并编写带有状态变量(包括映射器)的构造函数。ArcSlider 的值可用于某些任务,例如打印数字的乘法表。

  • 步骤 4 − 编写用于递增或更改映射器值的功能。

  • 步骤 5 − 创建 ArcSlider 并指定 showThumbText、showText、minvalue 和 maxvalue,并使用该函数更改值。

  • 步骤 6 − 检查结果。

项目中使用的重要文件是

  • App.js

App.js:这是该项目的 javascript 主文件。

示例

import { Component } from 'react'
import {View, Text, SafeAreaView, StyleSheet} from 'react-native';
import ArcSlider from "rn-arc-slider";

var maxvalforslider= 50;
export default class CircularSliderApp extends Component {
   constructor(props) {
      super(props);
      this.state = {
         mapper:0,
         tableOf:3
      }
   }
   componentDidMount() {
      setInterval(this.incrementmapper,1000);
   }

   incrementmapper = () => {
      if (this.state.mapper < maxvalforslider)
         this.setState({ mapper: this.state.mapper +1 });
   }
   render() {
      return (
         <SafeAreaView style={{flex: 1}}>
            <View>
               <Text style={styles.textSty}>Showing Multiples of A Number</Text>
               <Textstyle={{color: "#A00", marginTop: 10, padding :10}}>Start of Slider Value: 0</Text>
               <Text style={{color: "#00A", marginTop: 10, padding :10}}>End of Slider Value: {maxvalforslider}</Text>

               <ArcSlider
               value={this.state.mapper}
               onValueChange={mapper => this.setState({mapper})}
               trackColor={"red"}
               minValue={0}
               maxValue={maxvalforslider}
               showThumbText
               showText
               textColor="white"
               />
                <Text style={styles.textSty}>
                  {"Table of : " + this.state.tableOf}
               </Text>
               <Text style={{color: "#000", fontSize: 30, marginTop: 10, padding :10}}>{ this.state.tableOf +"*" + + this.state.mapper+ "=" + this.state.mapper *this.state.tableOf }</Text>

            </View>
         </SafeAreaView>
      );
   }
}
const styles = StyleSheet.create({
   textSty: {
      textAlign: 'center',
      fontSize: 20,
      padding:10,
      marginTop: 20,
   },
});

输出

结果将在线显示。当用户在代码中输入时,Web 视图会默认选中,结果会立即显示。

Img:使用 Web 视图显示 ArcSlider。

img:在个人手机上显示 ArcSlider

本文通过两个示例描述了 Expo Snack 上不同形式的滑块。首先,给出了制作水平滑块并使用它显示数字乘法表的方法。下一个示例介绍了制作名为 ArcSlider 的圆形滑块的方法,并展示了在线 Web 视图和个人移动设备上的输出。

更新于: 2023年5月2日

328 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告