各ビュー間に水平線を含むテキストビューをプログラムで作成しています。プログラムで作成されたドロウアブルを使用する。不透明度が増分され、不透明度が一定であることを望む画像ビュー
問題は、不透明度が明るくなり、各行で徐々に増加することです。
drawable、paint、image view、linear layoutの不透明度(getAlpha())は、提供されている2つのメソッドのすべての点でログに記録されています。私はなぜこれが真実であるかのように振る舞わない理由を理解していません。私もアルファを設定しようとしましたが、違いはありません。
なぜこれを行うのですか、どのように修正しますか?
のxml:
<LinearLayout android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" .../>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="PaintDashedLines"
android:text="Press Me"/>
</LinearLayout>
のjava:私に
static int tvCount = 0;
public void PaintDashedLines(View v) {
LinearLayout ll = (LinearLayout) findViewById(R.id.main);
TextView tv = new TextView(MainActivity.this);
tv.setGravity(Gravity.CENTER);
tv.setTextSize(25);
tv.setPadding(0, 5, 0, 5);
ll.addView(tv);
tv.setText("TextView " + tvCount);
ImageView divider = new ImageView(MainActivity.this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
ll.getWidth(), 2);
lp.setMargins(0, 5, 0, 5);
divider.setLayoutParams(lp);
divider.setBackground(CreateDashedLined());
ll.addView(divider);
tvCount++;
}
public static Drawable CreateDashedLined() {
ShapeDrawable sd = new ShapeDrawable(new RectShape());
Paint fgPaintSel = sd.getPaint();
fgPaintSel.setColor(Color.BLACK);
fgPaintSel.setStyle(Paint.Style.STROKE);
fgPaintSel.setPathEffect(new DashPathEffect(new float[]{5, 10}, 0));
return sd;
}
おかげです。私はエミュレータを考えなかった。 –
ちょうどそれを電話でテストしても問題ありません。期間が満了したときに賞金を授与します。もしあなたがもう少し票を得たらうれしいです。 –
ようこそ – Blackbelt