2013-03-13 5 views
1

좋은 하루 (또는 저녁 또는 밤) 저는 Android 용 앱을 개발 중이며 한 가지에 대해 매우 궁금합니다. 나는 "인스턴트 메신저"채팅과 같은 다른 채팅 활동을합니다. 맨 아래에는 EditText가 있고 맨 위에는 일종의 액션 바가 있습니다. 내가 필요한 것은 사용자가 메시지를 입력하고 소프트웨어 키보드가 화면에있을 때 내 활동이 위로 움직여야하지만 액션 바가 화면 상단에 "붙어 있어야"합니다. 왜냐하면 그 위에 몇 가지 중요한 컨트롤이 있기 때문입니다. 다시 말하지만 ActionBar는 아니지만 상위 수직 선형 레이아웃의 높이는 48dp입니다. 따라서 레이아웃이 화면에서 벗어날 때 상단으로 이동하지 못하도록하는 쉬운 방법이 있는지 알아야합니다. FrameLayout에 모든 것을 넣으려고했지만이 막대를 화면 위에 놓으려고했지만 키보드가 열리더라도 화면에서 꺼집니다.상태 표시 줄이 항상 화면에 표시됩니다.

답변

0

AndroidManifest에서의 활동은 다음과 같습니다. android : windowSoftInputMode = " 이 같은 adjustResize "

0

사용 무언가 :

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <com.myapp.MyActionBar 
     android:layout_width="match_parent" 
     android:layout_height="48dp"/> 

    <LinearLayout 
     android:id="@+id/mylayout" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1dp"/> 

    <!-- Add your edittext and button --> 

</LinearLayout> 

이 확실히 액션 바 및 글고 + 버튼을 화면에 allways있는 것, 그리고 mylayout 화면의 나머지 부분을 차지합니다. 키보드가 표시되면 mylayout이 축소됩니다.

0

매니페스트의 활동에 android : windowSoftInputMode = "adjustResize"를 추가해보세요. 이것은 안드로이드에게 키보드가 올라 갔을 때 팬을 배치하는 대신 레이아웃의 크기를 완전히 조정하도록 알려줍니다. 전체 레이아웃을위한 공간이 충분하지 않으면 여전히 작동하지 않습니다. 하지만 최상위 레이아웃이 RelativeLayout이고 편집 텍스트가 아래쪽으로 정렬되도록 설정하고, 위쪽 막대를 위쪽으로 정렬하고, 가운데 섹션을 fill_parent로 설정하고 편집 텍스트 위 및 아래에 위치하도록 설정해야합니다. 바.

0

당신의 기본 레이아웃으로 RelativeLayout의를 사용하고 안드로이드 추가 : 작업 표시 줄에 layout_alignParentTop = "사실은"

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     android:id="@+id/action_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:layout_alignParentTop="true" > 
    </LinearLayout> 

    <TextView 
     android:id="@+id/text_view" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" /> 

</RelativeLayout> 
그것을 유지하기
관련 문제