2016-07-03 2 views
0

키보드가 튀어 나오면 키보드가 레이아웃을 숨기지 않게하려면 어떻게합니까? 키보드를 열면이 코드 줄을 사용하여 레이아웃의 크기를 조정합니다.키보드가 레이아웃 구성 요소를 숨김

Window.SetSoftInputMode(SoftInput.AdjustResize); 

결과적으로 일부 장치에서는 화면 크기가 조정되지만 다른 장치에서는 원하는 정도까지 조정되지 않습니다.

enter image description here

을하고 여기에 다른 장치에 보이는 방법은 다음과 같습니다 : 당신이 볼 수 있듯이, 두 번째 이미지에서

enter image description here

로그인 버튼을 예를 들어 여기 레이아웃이 하나 개의 장치에 어떻게 표시되는지를 보여줍니다 키보드가 겹쳐서 반쯤 보이게됩니다. 또한 상단의 "로그인"텍스트가 잘립니다. 레이아웃을 모든 장치에서 동일하게 보이게하려면 어떻게해야합니까?

나는 또한 나의 Menifest 파일에이 라인이

편집 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:minWidth="25px" 
android:minHeight="25px" 
android:weightSum="100" 
android:id="@+id/signinwrapper" 
android:background="#F73494"> 
<LinearLayout 
    android:orientation="vertical" 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:id="@+id/linearLayout2" 
    android:layout_weight="5" 
    android:gravity="center"> 
    <TextView 
     android:text="Login" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView1" 
     android:textAllCaps="true" 
     android:textColor="#FFFF" 
     android:textSize="14sp" /> 
</LinearLayout> 
<LinearLayout 
    android:paddingTop="20dp" 
    android:orientation="horizontal" 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="40" 
    android:id="@+id/linearLayout1"> 
    <ImageView 
     android:src="@drawable/logo" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/imageView1" /> 
</LinearLayout> 
<LinearLayout 
    android:orientation="horizontal" 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:id="@+id/linearLayout2" 
    android:layout_weight="15" 
    android:paddingTop="10dp"> 
    <TextView 
     android:text="Your home of Entertainment" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/textView1" 
     android:gravity="center" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:textAllCaps="true" 
     android:textColor="#FFFF" /> 
</LinearLayout> 
<LinearLayout 
    android:orientation="vertical" 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:id="@+id/linearLayout3" 
    android:layout_weight="45"> 
    <EditText 
     android:id="@+id/username" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="textEmailAddress" 
     android:hint="Username" 
     android:background="@drawable/editor" 
     android:layout_marginLeft="70dp" 
     android:layout_marginRight="70dp" 
     android:textSize="20dp" 
     android:gravity="center" 
     android:textStyle="bold" 
     android:textColor="#FFFF" /> 
    <EditText 
     android:id="@+id/password" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="textPassword" 
     android:hint="Password" 
     android:background="@drawable/editor" 
     android:textSize="20dp" 
     android:layout_marginTop="10dp" 
     android:layout_marginLeft="70dp" 
     android:layout_marginRight="70dp" 
     android:gravity="center" 
     android:textStyle="bold" 
     android:textColor="#FFFF" /> 
    <ProgressBar 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/progressBar" 
     android:layout_centerInParent="true" 
     android:layout_marginTop="20dp" 
     android:background="@drawable/ProgressBarStyle" 
     android:layout_gravity="center_horizontal" 
     android:visibility="gone" /> 
    <Button 
     android:text="Login" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/btnlogin" 
     android:layout_marginLeft="100dp" 
     android:layout_marginRight="100dp" 
     android:background="@drawable/buttonstyles" 
     android:textColor="#F73494" 
     android:layout_marginTop="20dp" 
     android:textSize="12sp" /> 
</LinearLayout> 

에게

답변

1
에게

는하지 마십시오 : 여기

<activity android:name=".AccountActivity" android:label="yourtime" android:windowSoftInputMode="adjustResize|stateHidden"></activity> 

레이아웃에 대한 코드입니다 그 코드에서. AndroidManifest xml 파일에서 수행하십시오. 특히 대화 상자가있는 경우 코드에서 이상한 결과를 얻게됩니다.

그 모드가하는 일은 키보드 위로 이동하도록 앱의 크기를 조정하는 것입니다. 그러나 어떤 것은 단지 공간을 차지합니다. 레이아웃의 크기를 조정할 수있는 공백이 충분하면됩니다. 그렇지 않으면 키보드가 앱의 일부를 계속 커버합니다. 레이아웃을 게시하지 않으므로보다 자세한 답변을 드릴 수 없습니다.

+0

원래 질문을 업데이트했습니다. 한번 봐주세요. –

+0

나는 하나의 물건을 주목한다. 당신의 무게는 100으로 설정되어 있지만, 모든 무게의 합은 실제로 105이다. 상단 선형 배치에서 무게를 지우고 물건을 고치는 지 확인한다. 문제는 여전히 남아 있습니다. "로그인"이라는 단어의 맨 아래 부분이 잘리는 것을보십시오. 단지 더 많은 공간을 제공하는 것 이외의 다른 것을 고칠 방법이 없습니다. 내가 할 수있는 유일한 방법은 이미지를 작게 만들거나 텍스트 크기를 작게 만드는 것입니다. 수직 공백이 많지 않습니다. –

+0

Ohh 나는 그것을 깨닫지 못했다. 텍스트와 이미지를 가능한 한 작게 만들었지 만 너무 작게 만들면 화면 크기가 큰 기기에서 너무 작게 보입니다. 무엇이든 손상시키지 않고 모든 구성 요소로 레이아웃을 구현하는 가장 좋은 방법은 무엇입니까? 페이스 북 앱은 키보드가 팝업 될 때 로그인 버튼 아래의 모든 것을 숨기지 만, 작은 스크린 안에 모든 것을 여전히 관리 할 수있다. 레이아웃 문제가있는 장치가 없으므로 나중에 테스트해야합니다. 키보드의 크기가 변경되는 정도와 키보드가 열려있을 때 표시 할 항목을 제어 할 수 있습니까? –

관련 문제