我尝试了什么以及它现在如何显示 :
我的代码(以编程方式我可以给出红色区域) :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/linearLayoutInbox"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textViewInbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="INBOX"
android:textColor="#000000"
android:layout_gravity="center_horizontal|bottom"
android:textSize="12sp" />
<TextView
android:id="@+id/txtNewMsgId"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="8sp"
android:layout_gravity="bottom|right"
android:textColor="#000000"
android:letterSpacing="0.1"
android:text="14"
android:gravity="center"
android:layout_marginBottom="4dp"
android:padding="2dp"/>
</FrameLayout>
</LinearLayout>
</LinearLayout>
我想要实现的目标:14的位置不是收件箱的完美和顶部(如何实现)
答案 0 :(得分:1)
您好我发现这个库有助于满足您的要求
compile&#39; com.allenliu.badgeview:library:1.1.1&#39;
您可以根据自己的需求进行自定义
BadgeFactory.create(this)
.setTextColor(Color.White)
.setWidthAndHeight(25,25)
.setBadgeBackground(Color.Red)
.setTextSize(10)
.setBadgeGravity(Gravity.Right|Gravity.Top)
.setBadgeCount(20)
.setShape(BadgeView.SHAPE_CIRCLE)
.setSpace(10,10)
.bind(view);// you can pass View object that can be Textview ImageView Button etc...
答案 1 :(得分:0)
只需将布局边距10dp添加到textviewinbox即可。 您可以根据视图的要求设置该布局边距。可能会解决你的问题
答案 2 :(得分:0)
您可以使用约束布局,更容易实现您想要做的事情。
简化代码:
<android.support.constraint.ConstraintLayout>
<TextView
android:id="@+id/inbox"
android:text="inbox"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<TextView
android:text="14"
app:layout_constraintLeft_toLeftOf="@id/inbox"
app:layout_constraintRight_toRightOf="@id/inbox"
app:layout_constraintTop_toTopOf="@id/inbox"
app:layout_constraintBottom_toBottomOf="@id/inbox"
app:layout_constraintVertical_bias="1"
app:layout_constraintHorizontal_bias="1"
//add some margins to push it over the "inbox" borders. />
</android.support.constraint.ConstraintLayout>