今天我开发了我的第一个Android L应用程序,并阅读d.android.com/preview提示.他们说android:海拔会让我看到阴影.但看看这个:
<TextView
android:id="@+id/tvTest5"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@id/btnTest1"
android:layout_toRightOf="@id/tvTest4"
android:layout_marginLeft="10dp"
android:background="#000000"
android:elevation="50dp"/>
Run Code Online (Sandbox Code Playgroud)
我的模拟器中没有看到任何阴影.我做错了什么还是模拟器车?我正在使用Android Studio
我是新手angular.js,目前正在编写我的第一个项目.
目前我的控制器看起来像这样,例如:
function MyCtrl($scope, MyService) {
$scope.foo = MyService.doStuff();
}
Run Code Online (Sandbox Code Playgroud)
它们工作得很好(到目前为止),但我浏览了另一个AngularJS应用程序的源代码,并注意到他们正在使用angular.module来创建它们的控制器.
为什么,如果有的话,我想在我自己的应用程序中执行此操作?
我已经玩了L预览了几天,有一件似乎不起作用的是android:elevation视图的属性.它在调用时工作得很好View.setElevation(),但它似乎忽略了XML属性.我正在使用Android Studio 0.8.2 minSdkVersion并targetSdkVersion设置'L'并compileSdkVersion设置为'android-L'.buildToolsVersion是"20.0.0".以下是无法正常工作的示例布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_margin="10dp"
android:elevation="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="top"/>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_margin="10dp"
android:elevation="0dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="bottom"/>
</android.support.v7.widget.CardView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
以下是结果的屏幕截图:imgur.com/mqeq9vK
根据android:elevation我的说法,底卡应该在"地面"上平放,但事实并非如此.事实上,它看起来与顶级卡的高度没有什么不同5dp.这是一个已知问题,它对你有用吗?
编辑:似乎只有这种情况CardView,或者至少它不是问题Buttons.在这个布局中我替换CardView了Button,即使阴影有点搞砸(已知的bug),你仍然可以看到高程的差异.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="2dp"/>
<Button …Run Code Online (Sandbox Code Playgroud) 我试图重现Google在这里提出的高程示例:
https://developer.android.com/training/material/shadows-clipping.html
但对我来说,没有阴影出现.不在Android Studio设计器中,不在AVD模拟器上.我正在使用所有最新版本的Android Studio,SDK和模拟器图像.
我错过了什么?
我RecyclerView收藏了一些CardView.我的代码基本上是这篇官方文章的代码,并且工作正常,所以不需要在这里发布我的代码.在那里.
它看起来如下:
+------------------------------+
| +------------+ +------------+ |
| | card 1 | | | |
| +------------+ +------------+ |
| +------------+ +------------+ |
| | | | | |
| +------------+ +------------+ |
| +------------+ +------------+ |
| | | | | |
| +------------+ +------------+ |
| +------------+ +------------+ |
| | | | card N | |
| +------------+ +------------+ |
+-------------------------------+
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,所有CardView都会同时显示.
但我想要的是视图从视图外部一个接一个地显示到它的正常位置.
+-------------------------------+ +-------------------------------+
| +------------+ | | …Run Code Online (Sandbox Code Playgroud) android android-animation android-cardview android-recyclerview
我有这个:
var scores=[0.7, 1.05, 0.81, 0.96, 3.2, 1.23];
Run Code Online (Sandbox Code Playgroud)
将最近值的索引返回到另一个变量的可读方式是什么?
例如:
变量= 1应该返回 { low: 3, high: 1 }
我有这个代码:
int code = 0x92011202;
int a = (code & 0xF0000000) >> 28;
int b = (code & 0x0F000000) >> 24;
// ..
int n = (code & 0x0000000F);
Run Code Online (Sandbox Code Playgroud)
但如果最重要的位code等于1(从9到F)则为a负值.所有其他变量工作正常.
为什么会这样?
正如文档所述,您可以通过添加和自定义材料设计阴影样式android:elevation. This works fine with all elements I came across yet.
但是,如果我想为在 上绘制的形状获得相同(或几乎相同)的行为,该怎么办Canvas?- 目前我正在玩Paint.setShadowLayer(), but the results are far from 'material'-style compared with the native implementation.
有没有任何库或方法可以达到相同的效果?最好添加海拔高度?
我在 angularjs 中使用 ui-router 进行路由。我有这样的网址
www.example.com/*variable
Run Code Online (Sandbox Code Playgroud)
其中变量的形式为word1/word2
所以网址就变成了www.example.com/word1/word2
但当我申请时
$state.reload(); or
$state.go($state.current,{},reload:true);
Run Code Online (Sandbox Code Playgroud)
正斜杠被替换为%252并且 url 变为
www.example.com/word1%252Fword2
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况以及解决方案是什么?