2013-08-06 133 views
0

我知道如何用操作欄選項卡導航來構建活動。但我需要知道如何用這樣一個片段tabhost覆蓋鍵盤(例如三個不同類型的表情組織在標籤中)。任何代碼或教程鏈接將非常感激!用鍵盤片段代替鍵盤

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="#f6f6f8"> 


<ListView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/listViewChat" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" 
     android:layout_alignTop="@+id/LinearLayout1" android:layout_above="@+id/LinearLayout1" 
     android:divider="@null" android:dividerHeight="0dp" android:clickable="false"/> 

<LinearLayout 
     android:id="@+id/LinearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" 
     android:background="@drawable/riwa_in" 
     > 

code removed here is a custom view (copyright issue) 

<LinearLayout 

     android:layout_width="match_parent" 
     android:layout_height="50dp" 

     android:orientation="horizontal" 
     > 



    <ImageButton 
      android:id="@+id/addContentChat" 
      android:layout_width="45dp" 
      android:layout_height="match_parent" 
      android:background="@null" 
      android:longClickable="true" 
      android:padding="8dp" 
      android:src="@drawable/emo_mod_im_happy" /> 

    <EditText 
      android:id="@+id/mesText" 
      android:layout_width="0dp" 
      android:layout_height="37dp" 
      android:layout_marginTop="7dp" 
      android:layout_weight="0.57" 
      android:autoLink="all" 
      android:hint="@string/messageHint" 
      android:inputType="textMultiLine" 
      android:linksClickable="true" 
      android:maxHeight="50dp" 
      android:maxLines="4" 
      android:paddingLeft="8dp" 
      android:paddingRight="5dp" 
      android:textColor="#000000" 
      android:textSize="15sp" 
      android:textStyle="normal" 

      android:typeface="sans" > 

     <requestFocus /> 
    </EditText> 

    <ImageButton 
      android:id="@+id/sendButton" 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:longClickable="true" 
      android:src="@drawable/ic_send_holo_light" android:layout_gravity="center_vertical" 
      android:background="@null" android:focusable="false" android:scaleType="center" 
      /> 


</LinearLayout> 


</LinearLayout> 

提前感謝!

回答

2

爲什麼你不把片段放在屏幕的底部並使其覆蓋其他任何東西?如果您發佈佈局,我可以給你更準確的答案。但是,例如嘗試這樣的事情:

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

    // Put everything else which is supposed to be in your layout here 

    <Fragment 
     android:id="@+id/frmBottomOverlay" 
     android:name="com.example.fragment.YourBottomOverlayFragment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:visible="gone" 
     android:layout_alignParentBottom="true" /> 
</RelativeLayout> 

然後,如果你想顯示在你只需要設置片段View.VISIBLE的知名度編程底部的片段。

隱藏鍵盤當您顯示底部的片段試試這個:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 
+0

如果覆蓋一切,它也覆蓋鍵盤?我編輯了我的questoion,現在包括xml –

+0

不,您可以在將片段的可見性設置爲View.VISIBLE時隱藏鍵盤。我將編輯我的答案,包括如何隱藏鍵盤。 –

+0

thx我已經得到了代碼如何隱藏鍵盤。我應該把這個片段放在我的結構頂層作爲最後一點? –