Android使用Fragment定义弹出数字键盘
fragment主布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#F0F1EE"
android:orientation="horizontal" > <LinearLayout
android:id="@+id/input_buttons"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="10dp"
android:orientation="vertical" > <LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" > <Button
android:id="@+id/button_1"
style="@style/input_button_style"
android:text="1" /> <Button
android:id="@+id/button_2"
style="@style/input_button_style"
android:text="2" /> <Button
android:id="@+id/button_3"
style="@style/input_button_style"
android:text="3" />
</LinearLayout> <LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" > <Button
android:id="@+id/button_4"
style="@style/input_button_style"
android:text="4" /> <Button
android:id="@+id/button_5"
style="@style/input_button_style"
android:text="5" /> <Button
android:id="@+id/button_6"
style="@style/input_button_style"
android:text="6" />
</LinearLayout> <LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" > <Button
android:id="@+id/button_7"
style="@style/input_button_style"
android:text="7" /> <Button
android:id="@+id/button_8"
style="@style/input_button_style"
android:text="8" /> <Button
android:id="@+id/button_9"
style="@style/input_button_style"
android:text="9" />
</LinearLayout> <LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" > <Button
android:id="@+id/button_point"
style="@style/input_button_style"
android:text="拨打" /> <Button
android:id="@+id/button_0"
style="@style/input_button_style"
android:text="0" /> <Button
android:id="@+id/button_del"
style="@style/input_button_style"
android:text="删除" />
</LinearLayout>
</LinearLayout> </LinearLayout>
java文件
package com.example.administrator.yunphone.UI; import android.app.Activity;
import android.app.Fragment;
import android.app.Instrumentation;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast; import com.example.administrator.yunphone.R; public class MyKeyBoard extends Fragment implements OnClickListener{
Activity mActivity;
View rootView; private Button button_1,button_2,button_3,button_4,button_5,button_6,button_7,button_8,button_9,button_0,button_del,button_point;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
mActivity=getActivity();
rootView=inflater.inflate(R.layout.keyboard_layout, container, false);
initView();
return rootView;
} private void initView() {
button_0=(Button)rootView.findViewById(R.id.button_0);
button_1=(Button)rootView.findViewById(R.id.button_1);
button_2=(Button)rootView.findViewById(R.id.button_2);
button_3=(Button)rootView.findViewById(R.id.button_3);
button_4=(Button)rootView.findViewById(R.id.button_4);
button_5=(Button)rootView.findViewById(R.id.button_5);
button_6=(Button)rootView.findViewById(R.id.button_6);
button_7=(Button)rootView.findViewById(R.id.button_7);
button_8=(Button)rootView.findViewById(R.id.button_8);
button_9=(Button)rootView.findViewById(R.id.button_9);
button_point=(Button)rootView.findViewById(R.id.button_point);
button_del=(Button)rootView.findViewById(R.id.button_del);
button_0.setOnClickListener(this);
button_1.setOnClickListener(this);
button_2.setOnClickListener(this);
button_3.setOnClickListener(this);
button_4.setOnClickListener(this);
button_5.setOnClickListener(this);
button_6.setOnClickListener(this);
button_7.setOnClickListener(this);
button_8.setOnClickListener(this);
button_9.setOnClickListener(this);
button_point.setOnClickListener(this);
button_del.setOnClickListener(this);
button_del.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
performKeyDown(KeyEvent.KEYCODE_CLEAR);
return false;
}
});
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.button_0:
performKeyDown(KeyEvent.KEYCODE_0);
Toast.makeText(getActivity(),"这是0",Toast.LENGTH_SHORT).show();
break;
case R.id.button_1:
performKeyDown(KeyEvent.KEYCODE_1);
break;
case R.id.button_2:
performKeyDown(KeyEvent.KEYCODE_2);
break;
case R.id.button_3:
performKeyDown(KeyEvent.KEYCODE_3);
break;
case R.id.button_4:
performKeyDown(KeyEvent.KEYCODE_4);
break;
case R.id.button_5:
performKeyDown(KeyEvent.KEYCODE_5);
break;
case R.id.button_6:
performKeyDown(KeyEvent.KEYCODE_6);
break;
case R.id.button_7:
performKeyDown(KeyEvent.KEYCODE_7);
break;
case R.id.button_8:
performKeyDown(KeyEvent.KEYCODE_8);
break;
case R.id.button_9:
performKeyDown(KeyEvent.KEYCODE_9);
break;
case R.id.button_point:
performKeyDown(KeyEvent.KEYCODE_NUMPAD_DOT);
break;
case R.id.button_del:
performKeyDown(KeyEvent.KEYCODE_DEL);
break;
default:
break;
} }
//模拟键盘输入
public void performKeyDown(final int keyCode) {
new Thread() {
public void run() {
try {
Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(keyCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}
使用XML
<FrameLayout
android:id="@+id/keyboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:paddingLeft="10dp"
>
</FrameLayout>
使用JAVA
private void setKeyBoardFragment(){
FragmentManager fragmentManager=getFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
MyKeyBoard myKeyBoard=new MyKeyBoard();
fragmentTransaction.replace(R.id.keyboard,myKeyBoard);
fragmentTransaction.commit();
}
Android使用Fragment定义弹出数字键盘的更多相关文章
- js输入密文弹出数字键盘
我们经常被产品要求,在移动端的web页面上的输入框输入密码时要弹出数字键盘,而不是全键盘,这个该怎么实现呢? 1.首先要弹出数字键盘,我们只能把input框的type从password改为tel 2. ...
- [HTML5]移动开发不同手机弹出数字键盘问题
这里还是先那么先交代一下遇到的问题.其实无论是tel还是number都不是完美的:type="tel"优点是iOS和Android的键盘表现都差不多缺点是那些字母好多余,虽然我没有 ...
- 【android】禁止Edittext弹出软键盘而且使光标正常显示
/** * 禁止Edittext弹出软件盘,光标依旧正常显示. */ public void disableShowSoftInput() { if (android.os.Build.VERSION ...
- Android EditView 获取焦点 不弹出软键盘
很简单的做法: 找到AndroidManifest.xml文件 然后在对应的activity中增加android:windowSoftInputMode="adjustPan" & ...
- android 点击edittext弹出软键盘,否则不弹
只需要加android:windowSoftInputMode="stateHidden|stateAlwaysHidden"就可以 如:<activity android: ...
- android edittext 获取焦点并弹出软键盘
editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); activi ...
- Android实现dialog时候弹出软键盘dialog移位问题
Window win = getWindow(); WindowManager.LayoutParams params = win.getAttributes(); win.setSoftInputM ...
- (转载) EditText初始不弹出软键盘,只有光标显示,点击再弹出
EditText初始不弹出软键盘,只有光标显示,点击再弹出 2013-06-08 10:13 21305人阅读 评论(5) 收藏 举报 分类: android基础(91) 版权声明:本文为博主原创 ...
- android EditText设置弹出数字输入法键盘
<EditText android:id="@+id/edit_digit_input" android:layout_width="wrap_ ...
随机推荐
- java基础之——类的初始化顺序
由浅入深,首先,我们来看一下,一个类初始化有关的都有些啥米: 静态成员变量.静态代码块.普通成员变量.普通代码块.构造器.(成员方法?貌似跟初始化没有啥关系) 现在我们来看看她们的初始化顺序, 从性质 ...
- 自己yy的fulkson最大流算法
#include <iostream> #include <cstdio> #include <vector> using namespace std; ; //m ...
- scrollview嵌套listview 滑动事件冲突的解决方法
listView.setOnTouchListener(new View.OnTouchListener() { @Override ...
- CSS里的pointer-events属性
现代浏览器里CSS的职责范围和JavaScript的越来越模糊分不清.比如CSS里-webkit-touch-callout属性在iOS里能禁止当用户点击时弹出气泡框.而本文要说的pointer-ev ...
- cf 二分图
题目链接:http://vjudge.net/contest/133033#problem/C 题目大意:给你n个点,m条边,将其分成两个集合,集合A是图的一个点覆盖,集合B也是图的一个点覆盖,要求集 ...
- hdu1754 线段树
Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写 ...
- UI中经常出现的下拉框下拉自动筛选效果的实现
小需求是当你在第一个下拉框选择了国家时,会自动更新第二个省份的下拉框,效果如下 两个下拉选择Html如下: <select id="country_select"> & ...
- xor方程组消元 UVA 11542 Square
题目传送门 题意:给n个数,选择一些数字乘积为平方数的选择方案数.训练指南题目. 分析:每一个数字分解质因数.比如4, 6, 10, 15,, , , , 令,表示选择第i个数字,那么,如果p是平方数 ...
- python 代码片段23
#coding=utf-8 #python还支持动态的实力属性,即那些没有在类定义里生命的属性, #可以"凭空"创造出来 john.tatto='Mom' #继承 class Em ...
- Android listview与adapter用法
listview与adapter用法 博客分类: android 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...