我在我的片段xml文件中有这个:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.gelasoft.answeringball.MainActivity$PlaceholderFragment"
android:background="@drawable/wg_blurred_backgrounds_14"
>
<ImageView
android:id="@+id/sphereIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/magicBallDescr"
android:src="@drawable/rsz_31mystic" />
<LinearLayout
android:id="@+id/table"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/sphereIcon"
android:orientation="vertical" >
<TextView
android:id="@+id/txtAnswer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<EditText
android:id="@+id/txtQuestion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:hint="@string/textHint"
android:inputType="textMultiLine"
android:lines="6" />
<Button
android:id="@+id/btnAsk"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btnAskQ"
android:paddingEnd="@dimen/activity_vertical_margin"
/>
</LinearLayout>
</RelativeLayout>
以下是它的外观:
现在我想在EditText
上设置一个不同的背景图像,所以我编辑了xml并使它像:
<EditText
android:id="@+id/txtQuestion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:hint="@string/textHint"
android:inputType="textMultiLine"
android:lines="6"
android:background="@drawable/background"/>
但是现在我在EditText
上设置的背景正在占据LinearLayout
空间。
以下是更改后在编辑器中的显示方式:
为什么要占据整个地方并隐藏按钮?
我在这里缺少什么?我确定它很小,但我无法发现它。
答案 0 :(得分:2)
您正在遭受内存不足异常,这在堆栈跟踪的最后几行中是可见的。
解决方案是减少用作背景的drawable的大小。它只是一个EditText,它的小尺寸并不能保证高分辨率文件作为背景。
这可以使用各种图像编辑软件完成,从Photoshop到Microsoft Paint
用油漆:
第1步:在Paint中打开图像
第2步:点击&#34;调整大小&#34;顶部的按钮,位于工具箱旁边。
第3步:将图像的大小缩小到适当的值
第4步:将图像保存在可绘制的文件夹中
第5步:如果您正在使用Eclipse,请右键单击您的项目并单击&#34;刷新&#34;
第6步:再次启动您的应用程序。
现在扩展EditText:
您将EditText高度设置为wrap_content。当您将图像设置为背景时,它也会成为它的内容。因此,你的EditText会膨胀以适应它的新背景。
解决方案是将高度硬编码为
android:layout_height =&#34; 30dp&#34;虽然使用它的能力取决于您的要求。
答案 1 :(得分:2)
我不确定,但我认为你的背景图片太大了。你可以尝试小宽度和高度类型的图像替换它。希望你能解决这个问题。祝你好运!