Touchable示例

例:
import React from 'react';
import { 
	AppRegistry, Text ,
	TouchableHighlight,
	ToastAndroid,
	StyleSheet,
	View,
	TouchableNativeFeedback,
	TouchableOpacity,
} from 'react-native';

//知识点:1 TouchableHighlight 用来设置组件的透明度   注意:TouchableHighlight只支持一个子节点,如果你希望包含多个子组件,用一个View来包装它们
 //      2 TouchableNativeFeedback  原生触摸操作反馈的背景 触发组件时显示波纹 有三个方法
 //           1) TouchableNativeFeedback.SelectableBackground() - 会创建一个对象,表示安卓主题默认的对于被选中对象的背景
 //           2)  ouchableNativeFeedback.SelectableBackgroundBorderless() - 会创建一个对象,表示安卓主题默认的对于被选中的无边框对象的背景。
 //           3) ouchableNativeFeedback.Ripple(color, borderless) - 会创建一个对象,当按钮被按下时产生一个涟漪状的背景,你可以通过color参数来指定颜色,如果参数borderless是true,那么涟漪还会渲染到视图的范围之外
 // 3 TouchableOpacity  用来设置组件的透明度  此组件与TouchableHighlight的区别在于并没有额外的颜色变化,更适于一般场景
class MyFirstProject extends React.Component {

  _onPressButton() {
    ToastAndroid.show("You tapped the button!",ToastAndroid.SHORT);
  }

  _onShow(){
  	ToastAndroid.show("显示",ToastAndroid.SHORT);
  }

  _onHide(){
  	ToastAndroid.show("隐藏",ToastAndroid.SHORT);
  }

  render() {
    return (
      <View>
         <TouchableHighlight
              style = {styles.container }
             //触摸时组件显示的透明度  值0~1
              activeOpacity = {1}
              //有触摸操作时显示出来的底层的颜色
              underlayColor  = 'red'
              onPress={this._onPressButton}
              //当底层的颜色被显示的时候调用
              onShowUnderlay = {this._onShow}
              //当底层的颜色被隐藏的时候调用
              onHideUnderlay = {this._onHide}>
                   <Text style = {styles.txtStyle }>TouchableHighlight(透明度)</Text>
         </TouchableHighlight>
         <TouchableNativeFeedback
              style = {{ alignSelf : 'center',}}
              onPress={this._onPressButton}
              background={TouchableNativeFeedback.Ripple('blue',true)}>
                   <View style={styles.container}>
                        <Text style={styles.txtStyle}>TouchableNativeFeedback(触摸操作反馈的背景)</Text>
                        <View></View>
                   </View>
         </TouchableNativeFeedback>

        <TouchableOpacity 
              style = {styles.container }
              activeOpacity = {0.6}
              onPress={this._onPressButton}>
              <Text style={styles.txtStyle}>TouchableOpacity(触摸操作反馈的背景)</Text>
        </TouchableOpacity>
        <View></View>
      </View>
      
    );
  }
}

const styles = StyleSheet.create({
	container : {
		//子元素是应该沿着水平轴(row)方向排列,还是沿着竖直轴(column)方向排列呢?默认值是竖直轴(column)方向
	    flexDirection :'column',
        marginTop: 30,
        height : 100,
        width : 500,
        //决定其子元素沿着主轴的排列方式 可选项有:flex-start、center、flex-end、space-around以及space-between
        justifyContent : 'center', 
        //决定其子元素沿着次轴(与主轴垂直的轴,比如若主轴方向为row,则次轴方向为column)的排列方式 可选项有:flex-start、center、flex-end以及stretch
        alignItems : 'center',
        //决定了元素在父元素的次轴方向的排列方式(此样式设置在子元素上),其值会覆盖父元素的alignItems的值
        alignSelf : 'center',
        backgroundColor : 'chartreuse',
        //画圆弧
        borderRadius: 10,
	},
    txtStyle :{
        fontSize : 25,
    },

});

AppRegistry.registerComponent('MyFirstProject', () => MyFirstProject );
资料:touchable官网
效果图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值