textviewが2行になると、textviewの直後にimageviewを配置する際に問題が発生します。これを表示したい(テキスト直後の画像、テキストは1行、2行、または3行にすることができます)
テキストが短い(1行)場合、私のimageviewはtextviewの直後に表示されます。しかし、テキストが長くなると(2行)、画像は次のように次の行に移動します
私はこの問題の理由を知っていますが、解決する方法がわかりませんか?
textviewが2行になると、textviewの直後にimageviewを配置する際に問題が発生します。これを表示したい(テキスト直後の画像、テキストは1行、2行、または3行にすることができます)
テキストが短い(1行)場合、私のimageviewはtextviewの直後に表示されます。しかし、テキストが長くなると(2行)、画像は次のように次の行に移動します
私はこの問題の理由を知っていますが、解決する方法がわかりませんか?
たくさんグーグルした後、私は自分の問題の良い解決策を見つけました
TextView textView =new TextView(this);
SpannableStringBuilder ssb = new SpannableStringBuilder( "Here's a smiley how are you " );
Bitmap smiley = BitmapFactory.decodeResource( getResources(), R.drawable.movie_add );
ssb.setSpan( new ImageSpan( smiley ), ssb.length()-1, ssb.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE );
textView.setText( ssb, BufferType.SPANNABLE );
上記のコードの助けを借りて、Textviewのどこにでも画像を追加できます。
ImageViewの代わりにclickable ="true"とdrawableEndを試してください
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/navigation_icon"
android:text="Text"
android:clickable="true"
/>
xmlを次のように表示してみてください。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="TextView" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/my_icon" />
</LinearLayout>
</LinearLayout>
次のレイアウトを使用します
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:padding="2dp"
android:background="@android:color/transparent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:padding="1dp"
android:layout_gravity="left"
android:orientation="horizontal" >
<TextView
android:id="@+id/contentText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Medium T"
android:gravity="center"
android:minLines="2"
android:layout_gravity="center"
android:textColor="@color/white"
android:padding="5dp"
android:visibility="invisible"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ImageView
android:id="@+id/contentImage1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:padding="5dp"
android:visibility="invisible"
android:src="@drawable/browse_product_thumbnail" />
</LinearLayout>
</LinearLayout>
-Preeya