使编辑文本适合可用空间Android

时间:2015-10-12 15:42:07

标签: android android-studio android-edittext

正如你在图片中看到的那样是两个按钮右侧的重复空间,我希望中间的搜索栏能够扩展,只要它能够延伸,所以没有自由空间,我应该制作那些两个按钮向右移动,这样可以为搜索栏提供更多空间来扩展,如果是这样,我该怎么做?

enter image description here

布局

  <LinearLayout android:id="@+id/findControls" android:layout_width="match_parent"
        android:layout_alignParentTop="true"
        android:layout_height="wrap_content" android:paddingTop="5dip"
        android:paddingLeft="4dip" android:paddingRight="4dip"
        android:paddingBottom="1dip" android:background="@drawable/topbar">

        <ImageButton android:src="@drawable/ic_btn_find_prev"
            android:id="@+id/find_previous" android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <ImageButton android:src="@drawable/ic_btn_find_next"
            android:id="@+id/find_next" android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true" />

        <LinearLayout android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:orientation="vertical" android:layout_marginRight="6dip">

            <EditText android:id="@+id/find_value" android:layout_width="133dp"
                android:layout_height="wrap_content" android:scrollHorizontally="true"
                android:singleLine="true" android:ellipsize="end"
                android:inputType="text" android:hint="@string/SearchDialog.Hint" />

        </LinearLayout>

3 个答案:

答案 0 :(得分:1)

试试这个:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="1"
    android:background="@color/cardview_light_background">

    <ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_margin="2dp"
        android:background="@color/cardview_dark_background"/>

    <ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_margin="2dp"
        android:background="@color/cardview_dark_background"/>

    <EditText
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_margin="2dp"
        android:layout_height="match_parent"/>

    <ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_margin="2dp"
        android:background="@color/cardview_dark_background"/>

    <ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_margin="2dp"
        android:background="@color/cardview_dark_background"/>
</LinearLayout>

答案 1 :(得分:0)

尝试将#include<iostream> using namespace std; int main() { int n(0); int i(1); int k(1); int even2= 1; int odd2=1; while(n<1) { cout<<"Enter number of rows:"; cin>>n; } while(i<=n) { while(k<=i) { if(k%2 == 0) { while(even2<=k) { cout<<"E"; even2++; } } else { while(odd2<=k) { cout<<"O"; odd2++; } } k++; } cout<<i<<endl; i++; } return 0; } 用作match_parent。并且肯定没有固定133dp。

所以layout_widthLinearLayout更改为wrap_content并将match_parent添加到match_parent

EditText

答案 2 :(得分:0)

您可以改为使用RelativeLayout:

<RelativeLayout android:id="@+id/findControls"
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_alignParentTop="true"
          android:paddingBottom="1dip"
          android:paddingLeft="4dip"
          android:paddingRight="4dip"
          android:paddingTop="5dip">

<ImageButton
    android:id="@+id/find_previous"
    android:layout_alignParentLeft="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"/>

<ImageButton
    android:id="@+id/find_next"
    android:layout_toRightOf="@id/find_previous"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:src="@drawable/ic_add"/>


<EditText
        android:id="@+id/find_value"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:hint=""
        android:layout_toRightOf="@id/find_next"
        android:layout_toLeftOf="@id/find_next2"
        android:inputType="text"
        android:scrollHorizontally="true"
        android:singleLine="true"/>


<ImageButton
    android:id="@+id/find_previous2"
    android:layout_alignParentRight="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"/>

<ImageButton
    android:id="@+id/find_next2"
    android:layout_toLeftOf="@id/find_previous2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:src="@drawable/ic_add"/>

将您的按钮与父母左/右对齐。使用toLeftOf和toRightOf设置EditText。