还有就是button这个组件不能设置style吗,那要怎么修改它的背景颜色,安卓会带有蓝色的背景颜色,我的rn版本是0.73

来源:2-12 创建支持TS项目,对比和仅支持JS语言的RN项目

慕斯卡4057846

2024-05-22

写回答

1回答

CrazyCodeBoy

2024-05-22

React Native 的 `Button` 组件本身是不支持直接通过 `style` 属性来修改样式的,尤其是背景颜色。如果你需要自定义按钮的样式,特别是背景颜色,可以使用 `TouchableOpacity` 或 `TouchableHighlight` 组件来创建一个自定义按钮。


下面是一个使用 `TouchableOpacity` 自定义按钮的示例:


```javascript

import React from 'react';

import { TouchableOpacity, Text, StyleSheet } from 'react-native';


const CustomButton = ({ title, onPress }) => {

  return (

    <TouchableOpacity style={styles.button} onPress={onPress}>

      <Text style={styles.buttonText}>{title}</Text>

    </TouchableOpacity>

  );

};


const styles = StyleSheet.create({

  button: {

    backgroundColor: '#FF6347', // 自定义背景颜色

    padding: 10,

    borderRadius: 5,

    alignItems: 'center',

  },

  buttonText: {

    color: 'white',

    fontSize: 16,

  },

});


export default CustomButton;

```


你可以像使用 `Button` 组件一样使用 `CustomButton`:


```javascript

import React from 'react';

import { View } from 'react-native';

import CustomButton from './CustomButton'; // 假设你保存为 CustomButton.js


const App = () => {

  const handlePress = () => {

    console.log('Button pressed');

  };


  return (

    <View>

      <CustomButton title="Click Me" onPress={handlePress} />

    </View>

  );

};


export default App;

```


通过这种方式,你可以完全自定义按钮的外观和行为。如果你希望在不同状态下(如按下时)修改按钮样式,可以使用 `TouchableHighlight`,并通过 `underlayColor` 属性指定按下时的背景颜色。


如果有更多具体的需求或问题,请告诉我,我会进一步提供帮助。

0
0

RN入门到进阶,打造高质量上线App

解锁React Native开发应用新姿势,React Native新版本热门技术

3144 学习 · 3241 问题

查看课程