基本信息
源码名称:android 自定义键盘 示例源码(为了安全)
源码大小:0.21M
文件格式:.zip
开发语言:Java
更新时间:2018-08-23
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package com.github.phoenix.activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.LinearLayout;
import com.github.phoenix.R;
import com.github.phoenix.utils.DensityUtil;
import com.github.phoenix.utils.ScreenUtil;
import com.github.phoenix.widget.EditView;
import com.github.phoenix.widget.SKeyboardView;
import butterknife.BindView;
import butterknife.ButterKnife;
public class MainActivity extends AppCompatActivity {
@BindView(R.id.keyboard_view)
SKeyboardView keyboardView;
@BindView(R.id.edit_view)
EditView editView;
@BindView(R.id.ll_keyboard)
LinearLayout llKeyboard;
@BindView(R.id.ll_guan)
LinearLayout llGuan;
private int height = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
setSubView();
initEvent();
}
private void initEvent() {
editView.setOnKeyboardListener(new EditView.OnKeyboardListener() {
@Override
public void onHide(boolean isCompleted) {
if (height > 0) {
llGuan.scrollBy(0, -(height DensityUtil.dp2px(MainActivity.this, 16)));
}
if (isCompleted) {
Log.i("", "你点击了完成按钮");
}
}
@Override
public void onShow() {
llGuan.post(new Runnable() {
@Override
public void run() {
//pos[0]: X,pos[1]: Y
int[] pos = new int[2];
//获取编辑框在整个屏幕中的坐标
editView.getLocationOnScreen(pos);
//编辑框的Bottom坐标和键盘Top坐标的差
height = (pos[1] editView.getHeight())
- (ScreenUtil.getScreenHeight(MainActivity.this) - keyboardView.getHeight());
if (height > 0) {
//编辑框和键盘之间预留出16dp的距离
llGuan.scrollBy(0, height DensityUtil.dp2px(MainActivity.this, 16));
}
}
});
}
@Override
public void onPress(int primaryCode) {
}
});
}
private void setSubView() {
editView.setEditView(llKeyboard, keyboardView, true);
}
}