2015-09-11 2 views
0

Я новичок в программировании на Android. То, что я пытаюсь сделать, это получить изображение из галереи или взять его с камеры и вставить в edittext, на котором могут быть тексты. (например, текст .... текст ... текст .. [ИЗОБРАЖЕНИЕ])Как получить изображение из галереи или взять с камеры и вставить в edittext?

Как должен код для получения изображения и вставить его в выбранную точку курсора edittext?

+0

Ю может только установить путь изображения в EditText .. Не образ –

+0

я делал это раньше, много лет тому назад. Я работал над приложением для сообщений. я сделал добавление смайлов в EditText, эти значки смайликов были изображениями. –

+0

Но я видел приложение, которое допускает подобные действия. https://youtu.be/_nm06Z3mLJQ –

ответ

0

Попробуйте это сделать программно:

EditText et_EditImage = (EditText)findViewById(R.id.et_EditImage); 
et_EditImage.setCompoundDrawables(null, null, getResources().getDrawable(R.drawable.tick), null); 

Попробуйте сделать это в файле XML:

<FrameLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/search" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/search_bar" 
       android:drawablePadding="8dp" 
       android:paddingLeft="30dp" 
       android:paddingRight="10dp" 
       android:singleLine="true" > 
       <requestFocus /> 
      </EditText> 

      <Button 
       android:id="@+id/searchBtn" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|center_vertical" 
       android:layout_margin="10dp" 
       android:background="@drawable/icon_magnify" /> 

      <Button 
       android:id="@+id/delete" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right|center_vertical" 
       android:layout_margin="8dp" 
       android:background="@drawable/icon_remove" /> 
     </FrameLayout> 

я обнаружил, что на Here

+0

Большое вам спасибо! Я пробовал много решений, и все они работали! –

+0

Я рад это слышать. @YoungJunChoi принимает вопрос, чтобы в будущем другие пользователи могли решить ту же проблему. – Aspicas

1

Вы можете сделать это с 2-мя методами

1) С SpannableString

SpannableString ss = new SpannableString("abc\n"); 
    Drawable d = img.getDrawable(); 
    d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 
    ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE); 
    ss.setSpan(span, 0, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); 
    editText.setText(ss); 

2) С CompoundDrawablesWithIntrinsicBounds

editText.setCompoundDrawablesWithIntrinsicBounds(R.drawable.image, 0, 0, 0); 
+0

Благодарим за помощь! Это помогло мне много! –