在android2.2机顶盒上做了一个应用,从主界面跳转到另外一个界面,第2个界面为半透明状态,使用空鼠点击第2个界面上的edittext弹出软键盘,会将主界面的布局向上压缩,但是不使用空鼠,正常焦点切换,点击就不会出现这种现象。在线求解!!!!!
下面是我的manifest :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="3"
    android:versionName="1.1.2" >    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="9" />    <application
        android:name=".application.DsmApplication"
        android:icon="@drawable/dsm_icon_2"
        android:label="@string/app_name_cn"
        android:sharedUserId="android.uid.system"
        android:theme="@style/AppTheme" >              <activity
            android:name=".activity.HomeActivity"
            android:launchMode="singleTop"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
            android:windowSoftInputMode="stateHidden" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>        <activity
            android:name=".activity.SearchActivity"
            android:theme="@style/translucent"
            android:windowSoftInputMode="adjustPan" />
      
    </application>
</manifest>界面布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/search_mainbg"
    android:orientation="vertical" >    <ImageView
        android:id="@+id/searchbackground"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />    <EditText
        android:id="@+id/inputedit"
        android:layout_width="871px"
        android:layout_height="66px"
        android:layout_marginLeft="205px"
        android:layout_marginTop="63px"
        android:hint="@string/search_hint"
        android:paddingLeft="20px"
        android:singleLine="true"
        android:textSize="24px" >
    </EditText>    <ListView
        android:id="@+id/outputlist"
        android:layout_width="860px"
        android:layout_height="193px"
        android:layout_below="@id/inputedit"
        android:layout_marginLeft="211px"
        android:layout_marginTop="-10px"
        android:background="@drawable/search_listbg"
        android:divider="@color/transparent"
        android:dividerHeight="-4px"
        android:fadingEdge="none"
        android:listSelector="@color/transparent"
        android:fadeScrollbars="false" >
    </ListView>    <ImageView
        android:id="@+id/emptyview"
        android:layout_width="220px"
        android:layout_height="63px"
        android:layout_below="@id/inputedit"
        android:layout_marginLeft="514px"
        android:layout_marginTop="58px"
        android:src="@drawable/search_empty" >
    </ImageView></RelativeLayout>onCreate方法:
protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.search);
        DsmApplication.getInstance().addActivity(this);
        
       { //设置背景(直接使用XML描述background,显示的图片会有色阶)
            getWindow().setFormat(PixelFormat.TRANSLUCENT);
            Resources res = getResources();
            BitmapFactory.Options opts = new BitmapFactory.Options();
            opts.inPreferredConfig = Bitmap.Config.ARGB_8888;
            Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.search_mainbg, opts);
            BitmapDrawable bmpDraw = new BitmapDrawable(bmp);
            ImageView imgView = (ImageView)findViewById(R.id.searchbackground);
            imgView.setImageBitmap(bmp);
        }
        
        /* *设置搜索Activity的位置,要靠上,否则软键盘出来时,会被顶上去*/
        android.view.WindowManager.LayoutParams p = getWindow().getAttributes(); //获取对话框当前的参数值
        getWindow().setGravity(Gravity.TOP); //设置靠顶对齐  
        p.y = 62; //设置离顶部62像素
        getWindow().setAttributes(p); //设置生效   
        
        /*初始化输入框*/
        inputText = (EditText)findViewById(R.id.inputedit);
        inputText.addTextChangedListener(searchTextWatcher);
        inputText.setOnFocusChangeListener(viewFocuschange);
        Drawable drawable = getResources().getDrawable(R.drawable.searchicon); // 设置搜索框里的icon
        drawable.setBounds(new Rect(-5, 0, 24, 28));
        inputText.setCompoundDrawables(drawable, null, null, null);
        inputText.requestFocus();
        inputText.setOnEditorActionListener(new EditText.OnEditorActionListener()
        {
            
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
            {
                if (actionId == EditorInfo.IME_ACTION_DONE)
                {
                    InputMethodManager imm =
                        (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
                    return true;
                }
                return false;
            }
            
        });
        /*初始化输出框*/
        mSearchResultAdpter = new SearchResultAdpter(this);
        outList = (ListView)findViewById(R.id.outputlist);
        outList.setAdapter(mSearchResultAdpter);
        outList.setOnItemClickListener(listItemSelected);
        outList.setOnItemSelectedListener(listOnitemSelected);
        outList.setOnFocusChangeListener(viewFocuschange);
        outList.setVisibility(View.INVISIBLE);
        
        /*搜索结果空*/
        emptyView = (ImageView)findViewById(R.id.emptyview);
        emptyView.setVisibility(View.INVISIBLE);
        
        /**
         * 输入法
         * 需要时间缓冲,否则软键盘显示不出来。
         */
        Timer timer = new Timer();
        timer.schedule(new TimerTask()
        {
            @Override
            public void run()
            {
                imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
            }
        }, 300);
        
    }android空鼠软键盘