【发布时间】:2015-07-09 07:39:11
【问题描述】:
我是 Android 新手,我正在尝试向用户显示一些通知。
即:她/他为特定项目选择了多少件。
用例:
- 我在一个 Fragment 中有六个 ImageView。
- 用户可以滚动到这些 ImageView 中的任何一个。
- 当用户点击任何 ImageView 时,我们需要显示他/她点击该 ImageView 的次数
- 人们建议使用带有可绘制背景的 TextView 来解决此问题。
每个 ImageView 都附加了一个 TextView,当用户还没有点击它时,它是不可见的。
我正在尝试在每个 ImageView 上放置一个 TextView - 类似这样,我不确定这是否是最佳做法:
注意: TextView 中的 android:text 只是一个占位符,我们将使用 Java 代码动态设置文本。
这是我的片段 xml:
<RelativeLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollLayout">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/offerimg1"
android:src="@mipmap/zari"
android:background="#00ffffff"
android:padding="0dp" />
<TextView
android:id="@+id/textofferimg1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/offerimg1"
android:layout_alignTop="@+id/offerimg1"
android:layout_alignRight="@+id/offerimg1"
android:layout_alignBottom="@+id/offerimg1"
android:text="3"
android:textColor="#ffffff"
android:gravity="right"
android:paddingRight="10dp"
android:paddingBottom="20dp"
android:paddingTop="100dp"
android:textSize="10dp"
android:minWidth="15dp"
android:background="@drawable/bg_red"
android:layout_alignParentStart="true" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/offerimg2"
android:src="@mipmap/zari"
android:layout_below="@id/offerimg1"
android:background="#00ffffff"
android:layout_alignParentEnd="false" />
<TextView
android:id="@+id/textofferimg2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/offerimg2"
android:layout_alignTop="@+id/offerimg2"
android:layout_alignRight="@+id/offerimg2"
android:layout_alignBottom="@+id/offerimg2"
android:text="20"
android:textColor="#ffffff"
android:gravity="right"
android:paddingRight="10dp"
android:paddingBottom="20dp"
android:paddingTop="100dp"
android:textSize="10dp"
android:minWidth="15dp"
android:background="@drawable/bg_red"
android:layout_alignParentRight="false" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/offerimg3"
android:src="@mipmap/zari"
android:layout_below="@id/offerimg2"
android:background="#00ffffff" />
<TextView
android:id="@+id/textofferimg3"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/offerimg3"
android:layout_alignTop="@+id/offerimg3"
android:layout_alignRight="@+id/offerimg3"
android:layout_alignBottom="@+id/offerimg3"
android:text="32"
android:textColor="#ffffff"
android:gravity="right"
android:paddingRight="10dp"
android:paddingBottom="20dp"
android:minWidth="15dp"
android:textSize="10dp"
android:background="@drawable/bg_red"
android:paddingTop="100dp" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/offerimg4"
android:src="@mipmap/zari"
android:layout_below="@id/offerimg3"
android:background="#00ffffff" />
<TextView
android:id="@+id/textofferimg4"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/offerimg4"
android:layout_alignTop="@+id/offerimg4"
android:layout_alignRight="@+id/offerimg4"
android:layout_alignBottom="@+id/offerimg4"
android:layout_margin="1dp"
android:text="36"
android:textColor="#ffffff"
android:gravity="right"
android:paddingRight="10dp"
android:paddingBottom="20dp"
android:textSize="10dp"
android:minWidth="15dp"
android:background="@drawable/bg_red"
android:paddingTop="100dp"
android:layout_alignParentStart="false" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/offerimg5"
android:src="@mipmap/zari"
android:layout_below="@id/offerimg4"
android:background="#00ffffff" />
<TextView
android:id="@+id/textofferimg5"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/offerimg5"
android:layout_alignTop="@+id/offerimg5"
android:layout_alignRight="@+id/offerimg5"
android:layout_alignBottom="@+id/offerimg5"
android:layout_margin="1dp"
android:text="37"
android:textColor="#ffffff"
android:gravity="right"
android:paddingRight="10dp"
android:paddingBottom="20dp"
android:textSize="10dp"
android:minWidth="15dp"
android:background="@drawable/bg_red"
android:paddingTop="100dp"
android:layout_alignParentEnd="false" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/offerimg6"
android:src="@mipmap/zari"
android:layout_below="@id/offerimg5"
android:background="#00ffffff" />
<TextView
android:id="@+id/textofferimg6"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/offerimg6"
android:layout_alignTop="@+id/offerimg6"
android:layout_alignRight="@+id/offerimg6"
android:layout_alignBottom="@+id/offerimg6"
android:layout_margin="1dp"
android:text="83"
android:textColor="#ffffff"
android:gravity="right"
android:textSize="10dp"
android:paddingRight="10dp"
android:paddingBottom="20dp"
android:minWidth="15dp"
android:background="@drawable/bg_red"
android:paddingTop="100dp" />
</RelativeLayout>
这是我的drawable bd_red.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:radius="3dp"/>
<solid android:color="#F00"/>
</shape>
</item>
</layer-list>
这样的结果真的很尴尬,红色的背景已经覆盖了我的整个图像。
我还将我的最终目标作为附件附加到这篇文章中。
【问题讨论】:
-
我试图关注这个stackoverflow.com/questions/21178193/… 但它没有帮助.. 可能我错过了一些非常重要的东西。
标签: java android xml android-layout android-fragments