Ich programmiere Textansichten mit horizontalen Linien zwischen den einzelnen Ansichten. Verwenden eines programmgesteuert erstellten ZeichensatzesInkrementelle Deckkraft, konstante Deckkraft gewünscht Bildansicht mit Drawable
Das Problem ist, die Opazität beginnt Licht und allmählich für jede Zeile erhöht.
Ich habe die Deckkraft (getAlpha()) der Zeichen-, Mal-, Bildansicht und linearen Layout an allen Punkten in den beiden Methoden geloggt und von den Zeichenvorlagen ist es immer 255 und die Ansichten 1.0. Ich verstehe nicht, warum es sich nicht so verhält, als ob das wahr wäre. Ich habe auch versucht Alpha einzustellen, es macht keinen Unterschied.
Warum macht es das und wie repariere ich es?
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;
}
Vielen Dank für diese Taste drücken. Ich habe nicht an den Emulator gedacht. –
Habe es gerade an einem Telefon getestet und es ist in Ordnung. Wird Bounty vergeben, wenn die Frist abgelaufen ist, werden Sie hoffentlich noch mehr Stimmen bekommen. –
sind Sie willkommen – Blackbelt