私はこれに関する以前の回答の山を調べ、動作しているとマークされたコードを試しましたが、これまでのところ、runtmeで作成しているTextViewが画面を左から右に完全に埋めることを納得させることはできません。通常のトーストと同じように、両側にマージンを追加したいと思います。その後、シェイプにドロップシャドウを追加できます。
これが私のフォームレイアウトです。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rel_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center_vertical|center_horizontal"
android:text="@string/hello_world"
android:textColor="@color/holobrightblue"
android:textSize="48sp"
android:textStyle="bold"
tools:context=".MainActivity" />
</RelativeLayout>
..そして私のコード
textView = new TextView(m_Context);
RoundRectShape rs = new RoundRectShape(new float[] { 10, 10, 10, 10, 10, 10, 10, 10 }, null, null);
ShapeDrawable sd = new ShapeDrawable(rs);
sd.setAlpha(m_opacity);
textView.setBackgroundDrawable(sd);
textView.setTextColor(m_txtcolor);
textView.setText(toasttitle+"\n"+toastmessage);
textView.setBackgroundColor(Color.BLACK);
textView.setPadding(10,10,10,10);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
lp.setMargins(60, 0, 60, 0);
textView.setLayoutParams(lp);
toastView = new Toast(m_Context);
toastView.setView(textView);
toastView.setDuration(m_toastlen);
toastView.setGravity(m_screengravity, 0,0);
toastView.show();
前述のように、他のソリューションから試したことは、テキストビューがすべての水平方向のスペースを埋めることを納得させるようには見えません。
その形などを取り除いてみました...
何か案は?