我有一个带键和行的键盘,但我想要一个有列表的布局,当用户点击它时,它会输入它。例如,我想要一个列表而不是通常的字母键盘用滚动的字母表。
答案 0 :(得分:0)
下一个答案只是一个可以解决问题的想法。 尝试在您的活动中添加DrawerLayout作为菜单。只需添加一个包含字母数组的列表。
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false">
然后,在列表中添加一个Listener,它将使用您在列表中执行的选项卡编辑焦点editText。
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
ActionBarDrawerToggle drawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.open_drawer, R.string.close_drawer);
mDrawerLayout.setDrawerListener(drawerToggle);
drawerToggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.navigationView);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
onNavDrawerItemClick(menuItem.getItemId());
return true;
}
});
private void onNavDrawerItemClick(int navItemId) {
//ceramos el Drawer al hacer click en una opcion
mDrawerLayout.closeDrawer(GravityCompat.START);
mSelectedNavItem = navItemId;
showItem(navItemId);
}
private void showItem(int navItemId) {
switch (navItemId) {
case R.id.LetterB:
if (getActivity().getCurrentFocus() !=null && getActivity().getCurrentFocus() instanceof EditText ) {
EditText etFocus = (EditText) getActivity().getCurrentFocus();
etFocus.setText(etFocus.getText() + result.toString());
}
break;
case R.id.letterA:
if (getActivity().getCurrentFocus() !=null && getActivity().getCurrentFocus() instanceof EditText ) {
EditText etFocus = (EditText) getActivity().getCurrentFocus();
etFocus.setText(etFocus.getText() + result.toString());
}
break;
default:
throw new IllegalStateException("not implemented");
}
}
有你的键盘&#34;。最后,在清单中禁用Android键盘:
<activity android:name=".MainActivity"
android:windowSoftInputMode="stateHidden" />
希望它会给你一个新想法或者解决你的问题!