Ciao vorrei disegnare qualcosa di simileDisegnare Android forma xml diagonale con triangoli
con una forma È possibile?
Ciao vorrei disegnare qualcosa di simileDisegnare Android forma xml diagonale con triangoli
con una forma È possibile?
@Pauli. È possibile utilizzare Immagine per esercitarsi facilmente e può provare in questo modo. Utilizzare questa logica
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@color/Your_color">
</item>
<item>
<rotate
android:fromDegrees="50"
android:pivotX="10%"
android:pivotY="85%"
>
<shape
android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</rotate>
</item>
SO cortesia
' Ho visto questo link prima e provato .. ma non è quello che sto cercando – Pauli
Creare risorse di colore nel file di colors.xml
<color name="primaryColor">#3F51B5</color>
<color name="primaryColorDark">#303F9F</color>
Creare Java file di TriangleBackgroundView.Java:
public class TriangleBackgroundView extends View {
Paint paint;
Paint bgPaint;
public TriangleBackgroundView(Context context) {
super(context);
init();
}
public TriangleBackgroundView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public TriangleBackgroundView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
paint = new Paint();
paint.setStrokeWidth(1);
paint.setAntiAlias(true);
paint.setStrokeCap(Paint.Cap.SQUARE);
paint.setStyle(Paint.Style.FILL);
paint.setColor(getResources().getColor(R.color.primaryColor));
bgPaint= new Paint();
bgPaint.setStyle(Paint.Style.FILL);
bgPaint.setColor(getResources().getColor(R.color.primaryColorDark));
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int h = getMeasuredHeight();
int w = getMeasuredWidth();
canvas.drawRect(0,0,w,h,bgPaint);
Path path = new Path();
path.moveTo(0, h);
path.lineTo(w, h);
path.lineTo(0, 0);
path.lineTo(0, h);
path.close();
canvas.drawPath(path,paint);
}
}
Ora aggiungete visualizzazione personalizzata nel layout:
<com.yourpackage.TriangleBackgroundView
android:layout_height="match_parent"
android:layout_width="match_parent"/>
<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20dp"
android:textColor="@android:color/white"
android:layout_centerInParent="true"/>
È possibile ottenere l'aiuto di questo tutorial per creare la forma in diagonale con il triangolo:
Fonte: http://marcouberti.net/2015/06/23/create-a-custom-triangle-background-view-in-android/
Mentre questo link può rispondere alla domanda, è meglio includere le parti essenziali della risposta qui e fornire il link per riferimento . Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia.- [Dalla revisione] (/ recensione/post di bassa qualità/11054400) –
Modificato il post @AbhinavSinghMaurya –
È possibile utilizzare uno strumento gradiente ...
Sebbene questo possa teoricamente rispondere alla domanda, [sarebbe preferibile] (// meta.stackoverflow.com/q/8259) per includere qui le parti essenziali della risposta e fornire il link per riferimento. –
background: -moz-linear-gradient (45deg, rgba (192,192,192,1) 0%, rgba (192,192,192,1) 49%, rgba (0,0,0,1) 50%, rgba (0,0,0 1) 100%);/* ff3.6 + */ background: -webkit-gradient (lineare, a sinistra in basso, a destra in alto, color-stop (0%, rgba (192,192,192,1)), color-stop (49%, rgba (192,192,192, 1)), color-stop (50%, rgba (0,0,0,1)), color-stop (100%, rgba (0,0,0,1)));/* safari4 +, chrome */ background: -webkit-linear-gradient (45deg, rgba (192,192,192,1) 0%, rgba (192,192,192,1) 49%, rgba (0,0,0,1) 50%, rgba (0,0,0,1) 100%);/* safari5.1 +, chrome10 + */ –
È può usare qualcosa del genere:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="@color/yellow_color"/>
</shape>
</item>
<item>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="45"
android:pivotX="85%"
android:pivotY="135%">
<shape>
<solid android:color="@color/brown_color" />
</shape>
</rotate>
</item>
<item>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="45"
android:pivotX="-35%"
android:pivotY="85%">
<shape android:shape="rectangle">
<solid android:color="@color/brown_color" />
</shape>
</rotate>
</item>
</layer-list>
I due rettangoli ruotati eseguono il lavoro di riempimento lato marrone nell'immagine.
funziona solo se hai uguale altezza e larghezza ... –
cosa hai provato? – Sree
Ho provato due rettangoli e li ho ruotati, ma non ho esperienza con il disegno di forme xml .. – Pauli
perché provi con le immagini – Sree