Profile redesign: header

This commit is contained in:
Grishka
2023-03-17 22:07:28 +03:00
parent 20799ef1a8
commit 039fb0c505
37 changed files with 545 additions and 473 deletions

View File

@@ -1,58 +0,0 @@
package org.joinmastodon.android.ui.drawables;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.Rect;
import android.graphics.Shader;
import android.graphics.drawable.Drawable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import me.grishka.appkit.utils.V;
public class CoverOverlayGradientDrawable extends Drawable{
private LinearGradient gradient=new LinearGradient(0f, 0f, 0f, 100f, 0xB0000000, 0, Shader.TileMode.CLAMP);
private Matrix gradientMatrix=new Matrix();
private int topPadding, topOffset;
private Paint paint=new Paint();
public CoverOverlayGradientDrawable(){
paint.setShader(gradient);
}
@Override
public void draw(@NonNull Canvas canvas){
Rect bounds=getBounds();
gradientMatrix.setScale(1f, (bounds.height()-V.dp(40)-topPadding)/100f);
gradientMatrix.postTranslate(0, topPadding+topOffset);
gradient.setLocalMatrix(gradientMatrix);
canvas.drawRect(bounds, paint);
}
@Override
public void setAlpha(int alpha){
}
@Override
public void setColorFilter(@Nullable ColorFilter colorFilter){
}
@Override
public int getOpacity(){
return PixelFormat.TRANSLUCENT;
}
public void setTopPadding(int topPadding){
this.topPadding=topPadding;
}
public void setTopOffset(int topOffset){
this.topOffset=topOffset;
}
}

View File

@@ -35,6 +35,7 @@ import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.Toolbar;
import org.joinmastodon.android.E;
import org.joinmastodon.android.GlobalUserPreferences;
@@ -700,4 +701,9 @@ public class UiUtils{
}
};
}
public static void setToolbarWithSubtitleAppearance(Toolbar toolbar){
toolbar.setTitleTextAppearance(toolbar.getContext(), R.style.m3_title_medium);
toolbar.setSubtitleTextAppearance(toolbar.getContext(), R.style.m3_title_small);
}
}

View File

@@ -8,7 +8,7 @@ import android.widget.ImageView;
import androidx.annotation.Nullable;
public class CoverImageView extends ImageView{
private float imageTranslationY, imageScale=1f;
private float imageTranslationY;
public CoverImageView(Context context){
super(context);
@@ -30,8 +30,7 @@ public class CoverImageView extends ImageView{
canvas.restore();
}
public void setTransform(float transY, float scale){
public void setTransform(float transY){
imageTranslationY=transY;
imageScale=scale;
}
}