小编Ank*_*hah的帖子

类型转换如何从 double 到 byte 工作

我有一个代码,其中类型转换返回的值与较大的值大不相同。

static void Main(string[] args)
{
    double a = 345.09;
    byte c = (byte) a;
    Console.WriteLine(c);
    Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

这将返回值89。背后的原因是什么?

.net c#

7
推荐指数
1
解决办法
178
查看次数

Android Jetpack 在 Box 中组成部分边框

我正在尝试在jetpack 中准备一个设计,在盒子的一侧有部分边框。这是我现在的用户界面,

目前背景是纯色,但将替换为图像。我想打破左下角的边框并添加一些类似于下面的屏幕截图的文本,同时保持背景不变。

这是我的代码:

Box(modifier = Modifier
    .fillMaxWidth()
    .fillMaxHeight()) {
    Box(modifier = Modifier.fillMaxHeight().fillMaxWidth().background(Color(0xFF37C7D7).copy(alpha = 0.6f)))
    Box(modifier = Modifier
        .fillMaxHeight()
        .fillMaxWidth()
        .background(Color.Transparent)
        .padding(20.dp,30.dp)
        .border(width = 0.8.dp, color = Color.White.copy(alpha = 0.5f), shape=RoundedCornerShape(32.dp))
    )
    Box(modifier = Modifier
        .fillMaxHeight()
        .fillMaxWidth()
        .background(Color.Transparent)
        .padding(28.dp,38.dp)
        .border(width = 0.8.dp, color = Color.White.copy(alpha = 0.5f), shape=RoundedCornerShape(28.dp))
    )
    Column(modifier = Modifier.statusBarsPadding()
        .fillMaxWidth()
        .fillMaxHeight().padding(20.dp,40.dp),
        verticalArrangement = Arrangement.Bottom) {
        Text(text = "this is Test",modifier = Modifier.padding(0.dp,30.dp))
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-layout kotlin android-jetpack android-jetpack-compose

7
推荐指数
1
解决办法
7034
查看次数

替换 jetpack compose 中的 GlobalScope.launch

我正在 jetpack compose 中编写一些寻呼机代码,并遇到需要通过单击按钮更改页码的情况。这是我单击按钮时的事件:

onClick = {pagerState.scrollToPage(page=currentPager+1)}
Run Code Online (Sandbox Code Playgroud)

但当我这样做时,我收到此错误:Suspend function 'scrollToPage' should be called only from a coroutine or another suspend function

我通过添加以下内容找到了解决方案:

onClick = {GlobalScope.launch (Dispatchers.Main) {pagerState.scrollToPage(page=currentPager+1)}}
Run Code Online (Sandbox Code Playgroud)

但仍然不建议使用 GlobalScope.launch 。上面的 onClick 在基本 compose 函数中调用。如何解决 jetpack compose 中的此问题?

android kotlin android-jetpack kotlin-coroutines android-jetpack-compose

6
推荐指数
2
解决办法
1296
查看次数

mutableStateOf 在视图模型中更新,但在 @Compose 中没有效果

我的 HiltViewModel 中有一个 mutableStateof,名为“loading”。我正在更新从视图模型中的函数加载的值,该值被传递给 @composable 函数并在那里使用。情况是加载值在 viewModel 中完美更新,但没有反映在 @Composable 函数中。我的视图模型是:

@HiltViewModel
class AuthenticationViewModel @Inject constructor(
    private val repository: AppRepository,
    application: Application
): ViewModel() {
   val loading = mutableStateOf(false)

   fun update() = viewModelScope.launch {
      loading.value = true
   }
}
Run Code Online (Sandbox Code Playgroud)

加载值已在此处更新,但未反映在 @composable 中

@Composable
fun LoginScreen(
    viewModel: AuthenticationViewModel,
    actions: MainActions
) {
    val loading = viewModel.loading.value

    //Loading is another composable function where bool value is passed
    Loading(state = loading)
    CustomNavigationButton(title = "Sign In",enabled = true,onClick = 
    {viewModel.update()})
}
Run Code Online (Sandbox Code Playgroud)

现在,当我单击导航按钮时,将调用视图模型函数,并且加载状态也会更新,但不会反映在 @Composable 中

加载可组合项是: …

android kotlin android-jetpack android-jetpack-compose

5
推荐指数
1
解决办法
5287
查看次数

如何在react js中更改mapbox-gl的中心纬度和经度?

我正在为 Mapbox 使用 Mapbox-gl 包。我正在 useEffect 内渲染地图,我想要做的是更改 Mapbox 的中心而不完全重新渲染地图。例如

const mapContainerRef = useRef(null);

const [markerLngLat, setMarkerLngLat] = useState([85.324, 27.7172]);

useEffect(() => {
  const map = new mapboxgl.Map({
    container: mapContainerRef.current,
    style: 'mapbox://styles/lmaps/ckl6t1boq578819qod5v7ynby',
    center: markerLngLat,
    zoom: 13,
  });
}, []);

return (
  <div>
    <a onClick={setMarkerLngLat([65.468754, 44.57875])} />
    <div className='listing-map-container' ref={mapContainerRef} />
  </div>
);
Run Code Online (Sandbox Code Playgroud)

通过单击按钮,我想将地图的中心从之前的经纬度移动到新设置的经纬度,而不需要重新渲染整个地图。在 useEffect 的 [] 中传递markerLngLat 是可行的,但它会完全重新渲染地图及其上的所有其他 1000 个标记,因此不能更喜欢这种方式。实际的代码要长得多,并且地图上标记了许多标记,因此我不想完全重新渲染地图。

javascript mapbox reactjs mapbox-gl mapbox-gl-js

4
推荐指数
1
解决办法
7147
查看次数

.env 文件未在 React js 的本地环境中更新

我的 React 项目中有一个 .env 文件,并使用dotenvpackage 来读取环境变量。我做了环境变量的控制台日志。我一开始就在 .env 文件中初始化了几个变量,并且可以完美读取。

后来我更改了 .env 文件中的一些数据并重新启动了本地服务器,但新的更改没有得到反映。即使删除 .env 文件并启动服务器后,也会加载相同的旧变量。我知道这是一个缓存问题,但无法找到重置它的方法。

我正在使用npm start命令来启动服务器。

javascript environment-variables reactjs dotenv

4
推荐指数
1
解决办法
1万
查看次数

jetpack compose 中的圆形可拖动滑块

我需要准备一个带有圆形滑块的 UI,我可以在其中传递值或拖动指针以在滑块中滑动,类似于所附的屏幕截图。 在此输入图像描述

在此输入图像描述

我怎样才能实现它?

android kotlin android-jetpack android-jetpack-compose

1
推荐指数
1
解决办法
2506
查看次数