关于fixed定位的btn在ios上显示效果与Android不一致的解决方案

目前我遇到的场景:在input输入框弹出键盘时,ios上fixed定位的btn会被顶起来,Android(这里只测试6.0以上的版本)显示正常。

解决方法:

    app.directive('watchIosFixed', function ($timeout) {
        return {
            restrict: 'EA',
            //  '='表示双向 值的改变是双向的  '@'表示单向  directive 只能获取父级的值
            link: function (scope, ele, arr) {
                if (/(iPhone|iPad|iPod|iOS)/i.test(window.navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
                    $timeout(function() {
                         document.getElementsByName('money')[1].addEventListener('focus',function(){
                             document.getElementById('btn').style.position='relative';
                         });
                         document.getElementsByName('money')[1].addEventListener('blur',function(){
                            document.getElementById('btn').style.position='fixed';
                        });
                    });
                }
            }
        };
    });

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现在 Android Studio 的登录界面上显示账号密码,可以按照以下步骤: 1. 在登录界面的布局文件中添加两个 EditText 组件,用于输入账号和密码,例如: ```xml <EditText android:id="@+id/et_username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入账号" /> <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入密码" android:inputType="textPassword" /> ``` 2. 在登录界面的 Activity 中获取这两个 EditText 组件,并在登录按钮的点击事件中获取它们的文本内容,并将其显示在界面上,例如: ```java public class LoginActivity extends AppCompatActivity { private EditText etUsername; private EditText etPassword; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); etUsername = findViewById(R.id.et_username); etPassword = findViewById(R.id.et_password); Button btnLogin = findViewById(R.id.btn_login); btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = etUsername.getText().toString(); String password = etPassword.getText().toString(); Toast.makeText(LoginActivity.this, "账号:" + username + ",密码:" + password, Toast.LENGTH_SHORT).show(); } }); } } ``` 这样,在登录界面上输入账号和密码后,点击登录按钮就会弹出一个 Toast,显示输入的账号和密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值