0

リストビューのコンテンツには、編集テキストとテキストビューがあります。リストビューの編集テキストの下部を入力しているときに動的に読み込まれるリストビューのコンテンツ。入力された編集テキストは表示されません。仮想キーボードが編集テキストをカバーします。

私もこのコードをアクティビティで使用しました:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

マニフェストファイルでadjustpan、resize、statevisibleを使用しましたが、何も変更されていませんが、4.0未満では完全に機能します。

customlist.xml as

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"   android:layout_weight="1" 
    android:layout_height="match_parent" >

    <View
        android:id="@+id/view"
        android:layout_width="2dp"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:background="@android:color/transparent" />

    <EditText 
        android:id="@+id/textView21"
        android:layout_width="341dp"
        android:layout_height="60dp"
         android:layout_alignParentBottom="true"
        android:layout_weight="1" 
        android:layout_centerVertical="true"
        android:layout_marginRight="20dp"
        android:layout_toRightOf="@+id/view"
        android:background="@drawable/txt1"
        android:hint="Enter Value"
        android:layout_marginBottom="8dp"  
        android:layout_marginTop="8dp"  android:imeOptions="flagNoExtractUi"
        android:focusable="true" 
        android:paddingLeft="10dp" android:paddingRight="5dp"
        android:paddingTop="5dp"  android:singleLine="true"
        android:paddingBottom="5dp"
        android:textSize="25dp"
        android:textColor="@color/app_text_color"
         />

    <TextView
        android:id="@+id/textView1" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="20dp"
        android:layout_toLeftOf="@+id/view"
        android:paddingBottom="5dp"
        android:paddingLeft="10dp"
        android:paddingTop="5dp"   android:textSize="25dp"
        android:text="Large ryw4rtb "
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@color/app_text_color"
       />

</RelativeLayout>

およびmain.xmlとして

<?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:layout_marginBottom="5dp" android:id="@+id/sceen"
    android:background="@drawable/full_bg"
    android:orientation="vertical" >

    <include
        android:id="@+id/titleLayout"
        layout="@layout/title" />

    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

        <LinearLayout
            android:id="@+id/left"
            android:layout_width="326dp"
            android:layout_height="fill_parent"
            android:background="@drawable/left_bg" >

            <ListView 
                android:id="@+id/list"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:layout_marginTop="20dp"
                android:background="@drawable/left_table_bg"
                android:cacheColorHint="#00000000"
                android:transcriptMode="alwaysScroll"
                android:layout_weight="1"
                android:divider="@drawable/left_table_line"
                android:paddingLeft="5dp"
                android:paddingRight="5dp" >
            </ListView>
        </LinearLayout>

        <RelativeLayout
            android:id="@+id/lay_healthy"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginBottom="5dp"
            android:background="@drawable/right_side_bg" >
 <RelativeLayout
            android:id="@+id/lay_healthy1"   android:layout_above="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
             >

            <ListView
                android:id="@+id/listView1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"

                android:layout_weight="1" 
                android:layout_alignParentTop="true"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/available_right_bg"
                android:cacheColorHint="#00000000"
                android:padding="20dp" />

             <ListView
                android:id="@+id/listView2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"

                android:layout_alignParentTop="true"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/available_right_bg"
                android:cacheColorHint="#00000000"
                android:padding="20dp"
                android:visibility="gone" />

             <ListView
                android:id="@+id/listView3"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"

                android:layout_alignParentTop="true"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/available_right_bg"
                android:cacheColorHint="#00000000"
                android:padding="20dp"
                android:visibility="gone" />
           </RelativeLayout> 



        <RelativeLayout
                android:id="@+id/btn" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/btn1" 
                android:layout_alignParentBottom="true"
                android:layout_marginBottom="20dp"
                android:layout_marginTop="10dp" >

                <Button 
                    android:id="@+id/button1"
                    android:layout_width="200dp"
                    android:layout_height="57dp"
                    android:layout_alignParentLeft="true"
                    android:layout_marginBottom="10dp"
                    android:layout_marginLeft="160dp"
                    android:background="@drawable/bt_submit" />

                <Button
                    android:id="@+id/button2"
                    android:layout_width="200dp"
                    android:layout_height="57dp"
                    android:layout_alignParentRight="true"
                    android:layout_marginBottom="10dp"
                    android:layout_marginRight="160dp"
                    android:background="@drawable/bt_reset" />
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/btn1"
                android:layout_width="fill_parent"
                android:layout_height="20dp"
                android:layout_alignParentBottom="true" >
            </RelativeLayout>
              </RelativeLayout>
    </LinearLayout>

</LinearLayout>

この問題を解決するのを手伝ってください。

4

2 に答える 2

0

あなたが記入していることとは別に、EditTextあなたは間違いなくHeaderまたはButtonなどの他のビューを持っているでしょう。

それで、

ソフトキーボードが開いているかどうかを追跡し、これらのビューの可視性をなくし、ソフトキーボードが非表示/非表示になっているときに表示できるようにします

表示/非表示のソフトキーボードを追跡する直接的な方法はありません。したがって、アプリケーションで使用している次のコードを使用してください。

//your_button is the layout of your button view or a header view. if its just a view cast it to

//appropriate Class
final LinearLayout your_button = (LinearLayout) findViewById(R.id.your_button);
//activityRootView is the Layout you are using for the Activity
final View activityRootView = findViewById(R.id.layout_parent);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @Override
public void onGlobalLayout() {
    int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
    if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...

    your_button.setVisibility(Visibility.GONE);
    }else{

    your_button.setVisibility(Visibility.VISIBLE);
        }
    }
});
于 2012-10-03T13:56:05.543 に答える
0

アクティビティが宣言されているマニフェストにこれを追加してみてください。

     <activity android:name=".YourActivity"
     android:windowSoftInputMode="stateHidden"/>
于 2012-10-03T13:54:35.327 に答える