我已经在 Ubuntu 上安装了 PHP 7: php-v PHP 7.0.5-2+deb.sury.org~trusty+1 (cli) ( NTS ) 版权所有 (c) 1997-2016 PHP 集团 Zend Engine v3.0.0,版权所有 (c) 1998-2016 Zend Technologies 机智...
选择翻译('NEE', 'Ee', 'Ee') --NEE 选择翻译('NEE','eE','eE') ——尼 选择翻译('NÉE', 'Éé', 'Ee') --NEE 选择翻译('NÉE', 'éÉ', 'eE') --NeE 如何阻止比赛...
我是 Flutter 本地化新手。我正在尝试在我的 flutter IOS 应用程序中实现它,但出现以下错误: 方法“translate”被调用为空。 接收者:空 尝试拨打:trans...
我想要一个可以无限上下移动图像的动画。但是,当我运行代码时,动画仅发生一次。这是动画 xml: 我想要一个可以无限上下移动图像的动画。但是,当我运行代码时,动画仅发生一次。这是动画 xml: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator" android:repeatCount="3" android:repeatMode="restart"> <!-- move down --> <translate android:fromYDelta="0%" android:toYDelta="50%" android:duration="1500" android:fillAfter="true"/> <!-- move up --> <translate android:fromYDelta="0%" android:startOffset="1500" android:toYDelta="-50%" android:duration="1500" android:fillAfter="true"/> <!-- continue to move up --> <translate android:fromYDelta="0%" android:startOffset="3000" android:toYDelta="-20%" android:duration="600" android:fillAfter="true"/> <!-- down to original pos --> <translate android:fromYDelta="0%" android:startOffset="3600" android:toYDelta="20%" android:duration="600" android:fillAfter="true"/> </set> 这是我的java代码: public class MainActivity extends AppCompatActivity { Animation move1, move2, move3, move4, move5; Button login; ImageView bar1, bar2, bar3, bar4, bar5; int delay1 = 500; int delay2 = 1560; int delay3 = 2300; int delay4 = 3065; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_main); login = findViewById(R.id.btLogin); bar1 = findViewById(R.id.ivBar1); bar2 = findViewById(R.id.ivBar2); bar3 = findViewById(R.id.ivBar3); bar4 = findViewById(R.id.ivBar4); bar5 = findViewById(R.id.ivBar5); move1= AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move); move2= AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move); move3= AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move); move4= AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move); move5= AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move); bar1.startAnimation(move1); Handler handler = new Handler(); handler.postDelayed(() -> bar2.startAnimation(move2), delay1); handler.postDelayed(() -> bar3.startAnimation(move3), delay2); handler.postDelayed(() -> bar4.startAnimation(move4), delay3); handler.postDelayed(() -> bar5.startAnimation(move5), delay4); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); } } 为什么它不无限重复?和xml中的fill-after属性有关系吗?非常感谢您的帮助,这是一个班级项目。 从动画 XML 中删除 android:fillAfter="true",并在父 android:repeatCount="infinite" 标记中设置 <set>,而不是 repeatCount="3"。 fillAfter 使每个动画保持其最终状态,防止正确循环。 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator" android:repeatCount="infinite" android:repeatMode="restart"> <!-- move down --> <translate android:fromYDelta="0%" android:toYDelta="50%" android:duration="1500"/> <!-- move up --> <translate android:fromYDelta="50%" android:startOffset="1500" android:toYDelta="-50%" android:duration="1500"/> <!-- continue to move up --> <translate android:fromYDelta="-50%" android:startOffset="3000" android:toYDelta="-20%" android:duration="600"/> <!-- down to original pos --> <translate android:fromYDelta="-20%" android:startOffset="3600" android:toYDelta="0%" android:duration="600"/> </set> 这就是让它无限循环所需的全部。
我在我的角度应用程序中使用角度材料2。当我的表单输入字段错误消息超过一行时,我遇到了问题。这是照片: 这是代码: 我在我的角度应用程序中使用角度材料 2。当我的表单输入字段错误消息超过一行时,我遇到了问题。这是照片: 这是代码: <md-error *ngIf="password.touched && password.invalid"> <span *ngIf="password.errors.required"> {{'PASSWORD_RECOVERY.FIELD_REQUIRED' | translate}} </span> <span *ngIf="password.errors.minlength || password.errors.maxlength"> {{'PASSWORD_RECOVERY.PASSWORD_LENGTH' | translate}} </span> <span *ngIf="password.errors.pattern"> {{'PASSWORD_RECOVERY.FOR_A_SECURE_PASSWORD' | translate}} </span> </md-error> 我通过阅读 github 了解到,这是 Angular 2 材料中的一个错误。有人通过自定义解决方法成功解决了这个问题吗? 问题是类为 .mat-form-field-subscript-wrapper 的元素是 position: absolute,所以它不占用实际空间。 按照 xumepadismal 在 github 上关于此问题的建议,您可以添加此 scss 作为解决我的问题的解决方法: // Workaround for https://github.com/angular/material2/issues/4580. mat-form-field .mat-form-field { &-underline { position: relative; bottom: auto; } &-subscript-wrapper { position: static; } } 它会转换静态 div 中的 .mat-form-field-subscript-wrapper 节点,并将 .mat-form-field-unterline 重新定位在输入字段之后。 正如材料 15 中在 github 讨论中提到的,可以通过将 subscriptSizing="dynamic" 添加到 mat-form-field 来解决问题。 要更改默认行为,您必须使用以下选项更新 angular.module.ts 提供程序: providers: [ { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { subscriptSizing: 'dynamic' } } ] 这也可以在材料文档中找到 使用@mattia.corci提出的解决方案会导致错误消息被推到底部太多,从而在顶部留下不必要的空白空间。 使用 Tailwind CSS,这个解决方案对我来说适用于最新的 Angular 17: .mat-mdc-form-field { @apply w-full self-start; .mat-mdc-form-field-subscript-wrapper { @apply flex; .mat-mdc-form-field-error-wrapper { @apply static; } } } mat-form-field.ng-invalid.ng-touched { animation: example; animation-duration: 0.3s; margin-bottom: 20px; } @keyframes example { from { margin-bottom: 0; } to { margin-bottom: 20px; } } 它对我有用。
我正在尝试使用上面的图像进行集中输入。我按照位置文档进行操作,但不知何故图像没有水平集中: 代码: 我正在尝试使用上面的图像进行集中输入。我按照位置文档进行操作,但不知何故图像没有水平集中: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Title --> <title>Title</title> <!-- Css --> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> </head> <body> <div class="container position-absolute top-50 start-50 translate-middle"> <embed class="logo" src="https://www.google.com.br/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="Logo"> <form action="/streams" method="POST"> <div class="input-group"> <input class="form-control border-danger border-5" type="text" aria-describedby="start-button"> <button class="btn btn-danger" type="submit" id="start-button">Click</button> </div> </form> </div> </body> </html> 我尝试手动执行此操作并使用 display flex,但没有成功。 使用text-center链接 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Title --> <title>Title</title> <!-- Css --> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> </head> <body> <div class="container text-center"> <embed class="logo " src="https://www.google.com.br/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="Logo"> <form action="/streams" method="POST"> <div class="input-group"> <input class="form-control border-danger border-5" type="text" aria-describedby="start-button"> <button class="btn btn-danger" type="submit" id="start-button">Click</button> </div> </form> </div> </body> </html>