我想将背景设置android.R.attr.selectableItemBackground为a LinearLayout.使用XML时没有问题(可行)
<LinearLayout
android:id="@+id/llMiner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/selectableItemBackground"
android:clickable="true" >
Run Code Online (Sandbox Code Playgroud)
...但我必须在java代码中这样做,所以我试过这个
llMiner.setClickable(true);
llMiner.setBackgroundResource(android.R.attr.selectableItemBackground);
Run Code Online (Sandbox Code Playgroud)
......它不起作用,事实上我得到了NotFoundException第二行.所以在我尝试了这个变体后认为资源是一个颜色.
llMiner.setClickable(true);
llMiner.setBackgroundColor(android.R.attr.selectableItemBackground);
Run Code Online (Sandbox Code Playgroud)
这个没有启动异常,但是......不起作用(按下时没有改变背景,但是状态改变按下它必须这样做)...任何建议?
目前我正在使用tsc带有提示的watch标志的编译器.它运行良好,加载所有定义文件并正确编译每个angular2文件.但是通过shell窗口使用会非常不舒服.
我的目标是创建一个gulp任务,可以根据angular2定义翻译任何打字稿文件.我参与了gulp-typescript,似乎很容易使用,所以这是代码:
var tsProject = $.typescript.createProject(paths.src + '/tsconfig.json');
gulp.task('typescript', function() {
gulp
.src([
paths.src + '/*.ts'
])
.pipe($.typescript(tsProject)).js
.pipe(gulp.dest(paths.tmp));
});
Run Code Online (Sandbox Code Playgroud)
这是文件夹结构:
...
src/
---- app/
-------- ts/
------------ *.ts
---- typings/
-------- angular2/
------------ angular2.d.ts
------------ http.d.ts
-------- es6-promise/
------------ ...
-------- rx/
------------ ...
-------- tsd.d.ts
---- *.ts
---- tsconfig.json
gulpfile.js
...
Run Code Online (Sandbox Code Playgroud)
tsconfig文件没有files列表,因此编译器应检查内部的任何ts文件src(在任何级别).
调用任务时,我收到以下错误:
error TS2307: Cannot find module 'angular2/angular2'.
error TS2307: Cannot find module 'angular2/http'.
Run Code Online (Sandbox Code Playgroud)
如何告诉typescript编译器d.ts使用哪些文件?
android ×1
angular ×1
background ×1
clickable ×1
ecmascript-6 ×1
gulp ×1
javascript ×1
typescript ×1