0

我正在使用alignParentBottom="true"具有相同属性但在线性布局上方对齐的线性布局和相对布局。我已经放置了一个编辑文本。聚焦edittext时会显示键盘。在显示键盘的时候,底部的线性布局隐藏了edittext。用户将无法看到编辑文本中输入的内容。

现在,我通过在显示键盘时设置活动的可见性来隐藏底部线性布局。OnFocusChanged在edittext中,我正在使底部线性布局可见。但是,当按下后退隐藏键盘时,如何使布局可见?

在 Manifest.xml 中,我为我的活动使用以下代码:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
    android:id="@+id/relativetop"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="5dp" >

    <Button
        android:id="@+id/mymenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:background="@drawable/top_arrow_r_click" />

    <RelativeLayout
        android:id="@+id/rel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginBottom="5dp"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="5dp"
        android:layout_toRightOf="@+id/mymenu"
        android:background="@drawable/sera" >

        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toLeftOf="@+id/search"
            android:layout_toRightOf="@+id/textView1"
            android:ems="10"
            android:paddingLeft="15dp"
            android:paddingRight="10dp"
            android:singleLine="true" >
        </EditText>

        <!-- android:background="@drawable/search_edittext_round_corner" -->

        <Button
            android:id="@+id/search"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:background="@drawable/search_icon_click" />

        <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_marginBottom="10dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="10dp"
            android:background="@drawable/of" />
    </RelativeLayout>
</RelativeLayout>

<RelativeLayout
     android:id="@+id/relativecent1"
     android:layout_above="@+id/linearbottom"
     android:layout_below="@+id/relativetop"
     android:layout_marginLeft="10dp"
     android:layout_width="wrap_content"
     android:layout_height="fill_parent"
     android:layout_marginRight="10dp"
 >

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="2dp"
    android:maxLines="2"
    android:textSize="12dp"
    android:text="Pay Just Rs 4999 and get a Professional Fashion Portfolio with Make up worth "
    android:textColor="#2d3438" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="80dp"
    android:layout_height="60dp"
    android:layout_alignLeft="@+id/textView2"
    android:layout_below="@+id/textView2"
    android:scaleType="fitXY"
    android:background="@drawable/nor_bg"
    android:src="@drawable/loading" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/imageView1"
    android:layout_marginLeft="5dp"
    android:layout_toRightOf="@+id/imageView1"
    android:text="$ 299"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#be2e33"
    android:textStyle="bold" />

<LinearLayout
    android:id="@+id/updown"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView3"
    android:layout_below="@+id/textView3"
    android:layout_marginRight="15dp"
    android:weightSum="1"
    android:layout_toLeftOf="@+id/button1"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/up"
        android:layout_width="0dip"
        android:layout_height="25dp"
        android:layout_weight="0.5"
        android:background="@drawable/like_click" />

    <Button
        android:id="@+id/down"
        android:layout_width="0dip"
        android:layout_height="25dp"
        android:layout_toRightOf="@+id/up"
        android:layout_weight="0.5"
        android:background="@drawable/unlike_click" />
</LinearLayout>

<LinearLayout
    android:id="@+id/updowncount"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView3"
    android:layout_below="@+id/updown"
    android:layout_marginRight="15dp"
    android:weightSum="1"
    android:layout_toLeftOf="@+id/button1"
    android:orientation="horizontal" 
    >

    <TextView
        android:id="@+id/upcount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:gravity="center"
        android:text="6" />

    <TextView
        android:id="@+id/downcount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:gravity="center"
        android:text="0" />
</LinearLayout>

<TextView
    android:id="@+id/textView5"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/textView2"
    android:layout_alignTop="@+id/textView3"
    android:layout_marginLeft="5dp"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="Times Deals"
    android:textSize="12dp"
    android:textColor="#3b84c4" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/textView5"
    android:layout_toLeftOf="@+id/textView5"
    android:text="At"
    android:textSize="12dp"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView4"
    android:layout_toLeftOf="@+id/textView4"
    android:background="@drawable/wallet_click" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button1"
    android:layout_below="@+id/button1"
    android:layout_marginTop="2dp"
    android:background="@drawable/map_click"
    android:visibility="invisible" />

<TextView
    android:id="@+id/textView7"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView6"
    android:layout_alignLeft="@+id/textView6"
    android:layout_toRightOf="@+id/button2"
    android:layout_alignBottom="@+id/imageView1"
    android:text="Show on Map"
    android:textSize="12dp"
    android:gravity="center"
    android:paddingTop="5dp"
     android:textColor="#3b84c4" 
    android:visibility="invisible" />

<TextView
    android:id="@+id/textView6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/button1"
    android:layout_alignLeft="@+id/textView4"
    android:text="Add to Wallet"
    android:textSize="12dp"
    android:layout_marginBottom="3dp"
    android:layout_marginLeft="5dp"
    android:textColor="#3b84c4" />

<RelativeLayout

    android:id="@+id/relativedetail"
     android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_below="@+id/relativecenter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <!-- android:background="@drawable/round_corner_deals_detail" --> 

    <!-- DETAILS -->
    <ScrollView
     android:id="@+id/scrolview"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_below="@+id/line"
     android:visibility="visible"
     android:layout_margin="5dp" >


         <TextView
             android:id="@+id/detailsText"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:text="lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit ametttt"
             android:textColor="#2d3438"
             android:visibility="visible" />

    <!-- REVIEW -->
    <ScrollView android:id="@+id/relativereview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/linearbottom"
     android:layout_alignParentLeft="true"
     android:layout_below="@+id/line"

        >
<RelativeLayout

     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_margin="5dp"  
    >
    <EditText
        android:id="@+id/postreview" 
        android:ems="10"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:gravity="top|left"
        android:background="@drawable/round_corner_edittext"
        android:inputType="textMultiLine"
        android:layout_width="fill_parent" 
        android:layout_height="60dp" 
        android:textSize="12dp"
        android:layout_margin="2dp" >
        </EditText>
      <Button
             android:id="@+id/post"
             android:layout_below="@+id/postreview"
             android:background="@drawable/apply_click"
             android:layout_alignRight="@+id/postreview"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textColor="#ffffff"
             android:paddingRight="35dp"
             android:paddingLeft="5dp"
             android:text="Post Review" />



</RelativeLayout>
</ScrollView>
<RelativeLayout
    android:id="@+id/rlist"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_below="@+id/relativereview"
     >
     <ListView
                 android:layout_below="@+id/post"
                 android:id="@+id/listreview"
             android:cacheColorHint="#00000000"
             android:listSelector="#00000000"
             android:divider="#00000000"
             android:background="#00000000"
             android:dividerHeight="1dp"
             android:layout_width="wrap_content"
             android:layout_height="fill_parent"
             android:layout_marginRight="5dp"
             android:layout_marginTop="5dp" 
                      />
</RelativeLayout>
    <RelativeLayout
        android:visibility="invisible"
          android:layout_below="@+id/line" 
         android:id="@+id/relativedetails_layout"
           android:layout_alignParentBottom="true"
             android:layout_alignParentLeft="true"
             android:layout_margin="5dp"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent" >

        <ImageView
             android:id="@+id/imageView2"
             android:layout_width="120dp"
             android:layout_height="90dp"
             android:scaleType="fitXY"
             android:layout_alignLeft="@+id/detailsText"
             android:layout_alignTop="@+id/detailsText"
             android:src="@drawable/reliance_logo" />
         <!-- android:background="@drawable/round_corner_category_listing_page" -->

         <TextView
             android:id="@+id/textView8"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignTop="@+id/detailsText"
             android:layout_margin="5dp"
             android:layout_toRightOf="@+id/imageView2"
             android:text="Reliance Fresh"
             android:textColor="#000000"
             android:textStyle="bold" />


         <ListView
             android:id="@+id/ListViewMalls"
             android:cacheColorHint="#00000000"
             android:listSelector="@drawable/deals_details_bg"
             android:divider="#00000000"
             android:dividerHeight="1dp"
             android:layout_width="wrap_content"
             android:layout_height="fill_parent"
             android:layout_alignLeft="@+id/textView8"
             android:layout_below="@+id/textView8"
             android:layout_marginRight="5dp"
             android:layout_marginTop="5dp" />

         <TextView
             android:id="@+id/textView14"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_below="@+id/imageView2"
             android:layout_alignLeft="@+id/imageView2"
             android:layout_marginTop="10dp"
             android:background="@drawable/bagg" />


         <TextView
             android:id="@+id/textView15"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignRight="@+id/imageView2"
             android:layout_alignTop="@+id/textView14"
             android:layout_toRightOf="@+id/textView14"
             android:text="More deals from"
             android:focusable="true"
             android:focusableInTouchMode="true"
             android:marqueeRepeatLimit="marquee_forever"
             android:ellipsize="marquee"
             android:scrollHorizontally="true"
             android:layout_toLeftOf="@+id/ListViewMalls"
             android:textSize="10dp"
             android:layout_marginLeft="5dp"
             android:textColor="#3b84c4" />

         <TextView
             android:id="@+id/textView16"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignLeft="@+id/textView15"
             android:layout_below="@+id/textView15"
              android:textColor="#000000"
             android:text="Reliance Fresh"
              android:textSize="12dp"
               android:marqueeRepeatLimit="marquee_forever"
             android:ellipsize="marquee"
             android:scrollHorizontally="true"
             />

     </RelativeLayout>
     <LinearLayout
        android:id="@+id/line"
        android:layout_alignParentTop="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_margin="1dp"
        android:weightSum="3" >

        <!-- android:background="@drawable/round_corner_sort" -->

        <Button
            android:id="@+id/details"
            android:layout_width="wrap_content"
            android:layout_height="35dp"
            android:layout_gravity="center_vertical"
            android:layout_marginRight="2dp"
            android:layout_weight="1"
             android:textColor="#ffffff"
            android:text="Details"
            android:textAppearance="?android:attr/textAppearanceSmall"
            />
          <!-- android:background="@drawable/round_corner_button_sort" -->

        <Button
            android:id="@+id/store"
            android:layout_width="wrap_content"
            android:layout_height="35dp"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="2dp"
            android:layout_marginRight="2dp"
            android:layout_weight="1"
            android:background="#00000000"
            android:text="Store"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#000000" />

        <Button
            android:id="@+id/review"
            android:layout_width="wrap_content"
            android:layout_height="35dp"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="2dp"
             android:textColor="#000000"
             android:background="#00000000"
            android:layout_weight="1"
            android:text="Review"
            android:textAppearance="?android:attr/textAppearanceSmall"
            />

    </LinearLayout>


</RelativeLayout>

</RelativeLayout>

<LinearLayout
    android:id="@+id/linearbottom"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/linebg"
    android:layout_alignParentBottom="true"
    android:orientation="horizontal"
    android:gravity="center_vertical"
    android:weightSum="5" >

    <LinearLayout
        android:id="@+id/linearmap"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="2" >

        <Button
            android:id="@+id/map"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/map_norm"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/textMap"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Map"
            android:textColor="#000000" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/lineartrends"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="2" >



        <Button
            android:id="@+id/trends"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/trends_nor"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/textTrends"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Trends"
            android:textColor="#000000" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearwatch"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="2" >

        <Button
            android:id="@+id/watch"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/watch_nor"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/textWatch"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Watch"
            android:textColor="#000000" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearcontrol"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="2" >

        <Button
            android:id="@+id/control"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/control_nor"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/textControl"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Control"
            android:textColor="#000000" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearme"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="2" >

        <Button
            android:id="@+id/me"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/me_nor"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/textMe"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Me"
            android:textColor="#000000" />
    </LinearLayout>
</LinearLayout>


</RelativeLayout>
4

2 回答 2

1

您在此处放置的代码非常混乱,因此我将只专注于您提出的问题。覆盖 onBackPressed 方法。在那,无论你想让哪种布局可见,使用 setVisible 方法并将其设置为 true 并隐藏键盘:-

InputMethodManager imm = (InputMethodManager) Login.this.getSystemService(android.content.Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(Login.this.getCurrentFocus().getWindowToken(), 0);

或者如果您想查看当前由于键盘而被隐藏的编辑文本,您可以向上移动您的视图。Android 默认提供此功能例如:- 在我的登录活动中,我的密码编辑文本在键盘出现时向上移动,我能够看到我正在输入的内容。

于 2013-10-29T12:50:17.093 回答
1

您可以为此使用 onBackPressed,但问题是您将无法检测到键盘是否显示。实际上,如果您检查您的布局是否不可见,这可能意味着键盘已显示,并且在 onBackPressed 中您可以再次使其可见,仅此而已。

于 2012-06-14T07:00:42.000 回答