android pick file,Materia风格的Android文件选择器:MaterialFilePicker_Android_移动开发

一个Materia风格的Android文件选择器。

10520751.png

打开文件选择器:

Intent intent = new Intent(this, com.nbsp.materialfilepicker.ui.FilePickerActivity.class);

startActivityForResult(intent, 1);

重写 on activity result:

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 1 && resultCode == RESULT_OK) {

String filePath = data.getStringExtra(FilePickerActivity.RESULT_FILE_PATH);

// Do anything with file

}

}

项目主页:http://www.open-open.com/lib/view/home/1446620999842

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Unity中,我们可以使用C#脚本来实现Materia的透明度逐渐变为0的效果。下面是一种简单的实现方式。 首先,我们需要在脚本中获取到需要逐渐变为0的Materia。假设我们已经将Materia添加到了一个名为"material"的变量中。 然后,我们可以使用一个协程来控制透明度的变化。在协程中,我们可以使用一个循环来不断减少透明度,直到为0。在每次循环中,我们可以通过修改Materia的颜色的alpha值来实现透明度的变化。 下面是一个示例代码: ```csharp using UnityEngine; public class MaterialController : MonoBehaviour { public Material material; public float fadeSpeed = 0.5f; // 透明度变化的速度 private void Start() { StartCoroutine(FadeMaterial()); } private System.Collections.IEnumerator FadeMaterial() { Color materialColor = material.color; while (materialColor.a > 0f) { float newAlpha = materialColor.a - (fadeSpeed * Time.deltaTime); materialColor = new Color(materialColor.r, materialColor.g, materialColor.b, newAlpha); material.color = materialColor; yield return null; } } } ``` 在上述示例中,我们将脚本命名为"MaterialController",并在Unity中将需要逐渐变为0的Materia赋值到"material"变量上。我们还可以通过调整"fadeSpeed"变量的值来控制透明度变化的速度。 通过启动协程"FadeMaterial",我们就可以在游戏开始时逐渐减小Materia的透明度。协程中使用的循环会在每帧中修改Materia的alpha值,直到它变为0。 ### 回答2: 在Unity中,我们可以使用脚本来实现让物体的材质透明度逐渐变为0的效果。 首先,我们需要在场景中选中要应用透明度变化的物体。然后,我们可以创建一个新的C#脚本,并附加到该物体上。 在脚本中,我们可以使用Material类来访问和修改该物体的材质属性。我们可以声明一个公共的变量来控制透明度变化的速度,例如"fadeSpeed"。 在Update函数中,我们可以使用Mathf.Lerp方法来实现透明度的渐变效果。Mathf.Lerp接受三个参数:开始值、结束值和插值比例。我们可以将材质的透明度从1(完全不透明)渐变到0(完全透明),使用fadeSpeed来控制渐变速度。 具体的代码如下: ``` C# using UnityEngine; public class FadeMaterial : MonoBehaviour { public float fadeSpeed = 0.5f; // 渐变速度 private Material material; void Start() { material = GetComponent<Renderer>().material; // 获取物体的材质 } void Update() { float currentAlpha = material.color.a; // 获取当前透明度 float newAlpha = Mathf.Lerp(currentAlpha, 0f, fadeSpeed * Time.deltaTime); // 计算新的透明度 material.color = new Color(material.color.r, material.color.g, material.color.b, newAlpha); // 更新透明度 } } ``` 在Unity编辑器中,我们将脚本附加到物体上,并调整fadeSpeed的值来控制透明度渐变的速度。运行场景后,我们会看到选定物体的材质透明度逐渐变为0,实现了渐变透明度效果。 ### 回答3: 在Unity中,可以通过以下步骤来让物体的材质透明度逐渐变为0: 1. 首先,确保你已经将材质属性设置为透明。在Unity中,打开材质的属性面板,在“渲染模式”下选择“透明”或“透明裁剪”。 2. 在脚本中,首先获取到该物体的材质。可以使用GetComponent<Renderer>()来获取物体上的渲染器组件,然后使用.material获取到材质。 3. 创建一个变量来控制透明度的变化,例如alpha,并将其初始化为1。 4. 在每一帧中,将alpha的值逐渐减小,可以使用alpha -= Time.deltaTime * fadeSpeed。 其中,Time.deltaTime是两帧之间的时间差,而fadeSpeed是控制透明度变化的速度。 5. 将新的alpha值设置给材质的颜色属性。可以使用Color类来设置rgb颜色,其中a属性表示透明度。例如,材质的颜色可以设置为new Color(1, 1, 1, alpha)。 6. 当alpha小于等于0时,可以停止透明度变化或者在透明度达到0后对物体进行其他操作。 通过以上步骤,在每一帧更新的过程中,物体的透明度将逐渐变为0,从而实现了材质逐渐变透明的效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值