增加这是我的看法的EditText宽度不能在运行时
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:elevation="4dp"
android:background="@android:color/white">
<EditText
android:layout_width="220dp"
android:id="@+id/defaultfragmentquicktask"
android:layout_height="match_parent"
android:hint="Quick Task"
android:layout_marginLeft="5dp"
android:layout_gravity="bottom"
android:background="@android:color/white"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/voicerecognition"
android:id="@+id/catalogactivityvoicerecognition"
android:background="@android:color/white"
android:layout_gravity="bottom"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/defaultfragmentcamera"
android:src="@mipmap/camera"
android:background="@android:color/white"
android:layout_gravity="bottom"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/defaultfragmentdrawingbrush"
android:background="@android:color/white"
android:src="@mipmap/drawingbrush"
android:layout_gravity="bottom"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/defaultfragmentsavebutton"
android:background="@android:color/white"
android:visibility="gone"
android:src="@mipmap/defaulfragmentsave"
android:layout_gravity="right"
/>
</LinearLayout>
当EditText上获得焦点我设置摄像头,语音识别和drawingbrush图像的公开程度到了和保存图像按钮的公开程度,以visible.I要搬家保存按钮到最右边,但它并没有移动,我知道它可以使用RelativeLayout来完成,但我不想这样做,所以我增加了编辑文本的宽度,当它获得焦点时。 我用以下来增加它的宽度,但没有任何工作 edittext.getLayoutParams()。width = 32; edittext.setWidth(32);和edittext.setEms(50); 请帮我使用LinearLayout将savebutton移动到最右端,我已经尝试了gravity =“right”,它不起作用,或者让我知道如何在运行时增加edittext宽度?
View.OnFocusChangeListener onFocusChangeListener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
voiceRecognitionButton.setVisibility(View.GONE);
camerButton.setVisibility(View.GONE);
drawingbrush.setVisibility(View.GONE);
save.setVisibility(View.VISIBLE);
quickTaskEditText.setWidth(330);
} else {
voiceRecognitionButton.setVisibility(View.VISIBLE);
camerButton.setVisibility(View.VISIBLE);
drawingbrush.setVisibility(View.VISIBLE);
save.setVisibility(View.GONE);
quickTaskEditText.setWidth(220);
}
}
};
inOnCreateView我的片段
quickTaskEditText = (EditText) view.findViewById(R.id.defaultfragmentquicktask);
quickTaskEditText.setOnFocusChangeListener(onFocusChangeListener);
显示你在哪里更新您的EditText的宽度的代码。目前它的硬编码为220dp – Rahul
我已经添加了代码,请看看 – Cycle