我是一名Android应用程序开发人员。我正在寻找一种最快捷方便的方式来实现我正在构建的应用程序的菜单结构。下面是一个Taylor Swift应用程序,它具有我很想实现的菜单结构。任何建议或示例代码将不胜感激。谢谢。 Android垂直标签菜单底部
-1
A
回答
0
尝试这样的事情
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.simarzhov.weights.MainActivity">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/ic_20x60_24bp"></LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_20x80_24bp"
android:layout_gravity="bottom"></LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/ic_30x40_24bp"></LinearLayout>
</LinearLayout>
</RelativeLayout>
注重android:layout_gravity="bottom"
附:我知道这不是很优雅,但如果你有底部菜单,它可能会有所帮助。
1
您需要制作一个TextView的自定义版本才能实现此目的。 可以找到解决方案here 我提供了下面的代码。
public class VerticalTextView extends TextView{
final boolean topDown;
public VerticalTextView(Context context, AttributeSet attrs){
super(context, attrs);
final int gravity = getGravity();
if(Gravity.isVertical(gravity) && (gravity&Gravity.VERTICAL_GRAVITY_MASK) == Gravity.BOTTOM) {
setGravity((gravity&Gravity.HORIZONTAL_GRAVITY_MASK) | Gravity.TOP);
topDown = false;
}else{
topDown = true;
}
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
super.onMeasure(heightMeasureSpec, widthMeasureSpec);
setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
}
@Override
protected void onDraw(Canvas canvas){
TextPaint textPaint = getPaint();
textPaint.setColor(getCurrentTextColor());
textPaint.drawableState = getDrawableState();
canvas.save();
if(topDown){
canvas.translate(getWidth(), 0);
canvas.rotate(90);
}else {
canvas.translate(0, getHeight());
canvas.rotate(-90);
}
canvas.translate(getCompoundPaddingLeft(), getExtendedPaddingTop());
getLayout().draw(canvas);
canvas.restore();
}
}
相关问题
- 1. ChartJS - 底部的标签显示垂直
- 2. Matplotlib热图,垂直底部标签
- 3. 垂直布局(标题 - 菜单 - 内容 - 底部)
- 4. 顶部垂直xtick标签,而不是底部
- 5. 对齐两个标签的底部和顶部在垂直UIStackView
- 6. 如何避免垂直下拉菜单在底部添加垂直滚动条?
- 7. GWT垂直菜单
- 8. superfish垂直菜单
- 9. 垂直菜单modx
- 10. 垂直顶部导航菜单项
- 11. 垂直标签栏?
- 12. 垂直hr标签
- 13. 屏幕左侧的垂直菜单Android
- 14. joomla菜单不垂直对齐图标
- 15. css对齐标签里面li,垂直菜单
- 16. MenuItem中所有子菜单上的垂直旋转标签
- 17. Android顶部和底部菜单
- 18. Android的垂直行动栏标签
- 19. android中的垂直标签栏
- 20. 垂直子菜单水平菜单
- 21. CSS垂直菜单和子菜单
- 22. CSS水平子菜单垂直菜单
- 23. 纯CSS垂直菜单与子菜单
- 24. 垂直菜单响应
- 25. 垂直滑动菜单
- 26. 开发垂直“UL”菜单
- 27. 灵活的垂直菜单
- 28. CSS UL李垂直菜单
- 29. CSS下拉菜单垂直
- 30. 垂直下拉菜单
谢谢。它运作良好。 Upvoted。我试图改变不同结果的旋转()角度。我不是很成功 –