最近我从支持库切换到com.google.android.material:material:1.0.0
但是现在我有一个问题,在这个页面上有一个注释https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md
注意:使用"材质成分"主题可启用自定义视图填充程序,该填充程序将使用"材质"对应项替换默认组件.目前,这仅使用MaterialButton替换Button XML组件.
我正在使用的主题
Theme.MaterialComponents.Light.NoActionBar
Run Code Online (Sandbox Code Playgroud)
它完全按照它在说明中所说的,它将AlertDialog按钮替换为MaterialButtons,但问题是默认情况下MaterialButtons是彩色背景,现在按钮看起来像这样:
我怎样才能让它们再次无边界和无背景?
PS我正在使用警报构建器来创建警报对话框:
android.app.AlertDialog.Builder
Run Code Online (Sandbox Code Playgroud) android android-alertdialog android-styles material-design material-components-android
最近我一直在搞乱socket.io并发现这个有趣的事情,我可以像这样发出函数回调.
我在客户端开始像这样发射:
client.emit('eventToEmit', dataToEmit, function(error, message){
console.log(error);
console.log(message);
});
Run Code Online (Sandbox Code Playgroud)
然后我可以像这样从服务器端发出回调:
client.on('eventToEmit', function(data, callback){
console.log(data);
callback('error', 'message');
});
Run Code Online (Sandbox Code Playgroud)
一切正常,没有错误,但我感兴趣的是,如果做这样的事情是合适的,因为到目前为止我还没有在文档或任何例子中看到类似的东西.
最近我看了Douglas Crockford的一次演讲(他的演讲让我着迷,但总是让我感到困惑).他给出了一个构造函数的例子,但我不太明白我将如何在实践中使用它:
function constructor(spec) {
var that = other_constructor(spec),
member,
method = function () {
//spec , member, method
};
that.method = method;
return that;
}
Run Code Online (Sandbox Code Playgroud)
也许有人可以根据这种模式给我一个简单的工作示例?
我需要通过控制器提供pdf文件,但我无法在浏览器窗口中打开它们.当我用pdf文件发送响应时,它会呈现乱码,或者如果我按照http://symfony.com/doc/current/components/http_foundation/introduction.html#serving-files中的示例,它会下载文件,但我需要在查看模式下打开它,我该怎么办?
这是我到目前为止所得到的:
return new Response(readfile('/file/path/file.pdf'), 200,
array('Content-Type' => 'application/pdf')
);
Run Code Online (Sandbox Code Playgroud)
我错过了什么,或者我的php或apache配置有问题吗?
我已经创建了需要数据转换器的表单,但是让我自己陷入单一问题:我通过爆炸字符串转换数据(字符串应该被分解为3个部分),一切正常,如果我提供正确的格式字符串,但否则会在数据内部引发错误变换器,因为如果提供了错误的字符串格式,则不会发生转换(这是预期的行为).
所以问题是有没有办法在数据转换之前验证表单字段的正确字符串?我知道默认情况下,数据转换发生在验证之前,但也许有办法以其他方式做到这一点?
我找到了一个可能在这个线程上工作的解决方案:组合约束和数据转换器,但它看起来像粗略的解决方案,除了我需要翻译验证消息,我真的想使用symfony表单的默认翻译方法(不使用翻译服务)
我想,也有来自symfony IRC(Iltar)的人建议通过使用事件来做,但我不知道如何去做 - 如何动态地将数据转换器附加到表单字段?或者可能还有其他方式?
我正在使用karma,webpack和typescript设置开发环境,但我遇到的问题是karma没有在测试中应用自定义定义文件.
这是我的项目文件结构:
// file structure
project/
config/
karma.conf.js
tests/
test-files.ts
...
src/
tsdefinitions.d.ts
other-ts-files.ts
...
tsconfig.json
Run Code Online (Sandbox Code Playgroud)
这里是与webpack和typescript相关的karma配置部分
webpack: {
devtool: 'eval-source-map',
resolve: {
extensions: ['.webpack.js', '.web.js', '.ts', '.tsx', '.js']
},
module: {
loaders: [{
test: /\.tsx?$/,
loader: 'awesome-typescript-loader'
}]
}
},
webpackMiddleware: {stats: 'errors-only'},
mime: {'text/x-typescript': ['ts','tsx']},
basePath: '../',
files: [{
pattern: './test/**/*.ts',
watched: false
}],
preprocessors: {
'./test/**/*.ts': ['webpack', 'sourcemap']
}
Run Code Online (Sandbox Code Playgroud)
最后是tsconfig.json
{
"compilerOptions": {
"removeComments": true,
"allowSyntheticDefaultImports": true,
"baseUrl": "./",
"sourceMap": true,
"noImplicitAny": true,
"allowJs": true,
"module": "commonjs", …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建自定义事件,但无法使其工作.
我做了什么:
我创建了一个识别类的事件
namespace Path\ToBundle;
final class CookieEvents
{
const COOKIE_EVENT = 'cookie.event';
}
Run Code Online (Sandbox Code Playgroud)
2.处理过的事件
namespace Path\ToBundle\EventListener;
use Path\ToBundle\Event\FilterResponseEvent;
class ResponseListener
{
public function onCookieInit(FilterResponseEvent $event)
{
//some complex logic goes here
echo('test');
}
}
Run Code Online (Sandbox Code Playgroud)
3.created事件监听器
namespace Path\ToBundle\Event;
use Symfony\Component\EventDispatcher\Event;
use Symfony\Component\HttpFoundation\Response;
class FilterResponseEvent extends Event
{
protected $response;
public function __construct(Response $response)
{
$this->response = $response;
}
public function getResponse()
{
return $this->response;
}
}
Run Code Online (Sandbox Code Playgroud)
4.Tried在service.yml中注册事件监听器
kernel.listener.cookie.event:
class: Path\ToBundle\Event\ResponseListener
tags:
- { name: kernel.event_listener, event: cookie.event, method: onCookieInit } …
Run Code Online (Sandbox Code Playgroud) 我想使用导航在 2 个状态之间进行简单的转换,但我有 1 个问题:
当用户启动应用程序时,会出现一个带有 1 个按钮的欢迎屏幕,该按钮应进入登录屏幕。
用户单击该按钮后,他将被带到登录屏幕,并且需要删除 backstack,因此当用户单击后退按钮时,他将完全退出应用程序而不是前一个屏幕。
我已经实现了这个工作流程并且它有效,但问题是点击按钮弹出堆栈后对用户可见。
<?xml version="1.0" encoding="utf-8"?>
<navigation
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/welcome_nav"
app:startDestination="@id/welcome_fragment">
<fragment
android:id="@+id/welcome_fragment"
android:name="com.domain.example.WelcomeFragment"
android:label="WelcomeFragment"
tools:layout="@layout/welcome_screen">
<action
android:id="@+id/action_to_login_nav"
app:destination="@id/access_nav"
app:enterAnim="@anim/nav_default_enter_anim"
app:exitAnim="@anim/nav_default_enter_anim"
app:popUpTo="@id/welcome_fragment"
app:popUpToInclusive="true" />
</fragment>
<include app:graph="@navigation/login_nav" />
</navigation>
Run Code Online (Sandbox Code Playgroud)
附注。我说backstack的弹出是可见的意思是:在短时间内登录目的地可见,然后上一个目的地再次可见,然后登录目的地再次可见,这发生得很快,但随着过渡动画,它可见状态闪烁。
我正在建立系统并试图在选民和ACL之间做出决定.我需要实现的是应该有不同角色的用户访问对象属性,例如:经过身份验证的常规用户可以看到Post及其内容,但不能看到它的"Position"属性,而具有编辑角色的用户也可以看到Post和它的内容,并有权看到"位置"属性并进行编辑.我可以通过单独使用选民来实现此功能,还是需要使用ACL?
对于令人困惑的问题我很抱歉,我是symfony的新手并且还不太了解这些概念.我想要实现的是对象字段级别的权限.
普通用户可以访问"TITLE"和"CONTENT"属性,并修改"CONTENT"属性",主持人可以查看和编辑以前的两个属性,管理员应该可以访问所有对象属性,并对它们执行任何操作.
我想用链接制作TextView.我用html和java的组合制作了它:
// used to enable link navigation on TextView
setMovementMethod(LinkMovementMethod.getInstance())
// TextView with link
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="19dp"
android:layout_marginTop="8dp"
android:gravity="center"
android:linksClickable="true"
android:text="@string/link"/>
// @string/link
<string name="link">Test <a href="#">link</a></string>
Run Code Online (Sandbox Code Playgroud)
但是仍然存在一个问题,实际链接文本之前的空格加下划线如下:
为什么这样,它怎么能修复?
symfony ×4
android ×3
acl ×1
android-architecture-navigation ×1
callback ×1
constructor ×1
emit ×1
events ×1
forms ×1
javascript ×1
karma-runner ×1
material-components-android ×1
node.js ×1
oop ×1
pdf ×1
php ×1
socket.io ×1
textview ×1
tsconfig ×1
typescript ×1
validation ×1
webpack ×1