温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android开发—利用FrameLayout实现图标中间显示文字

发布时间:2020-05-16 02:54:54 来源:网络 阅读:2568 作者:孤月2012 栏目:移动开发

需求:实现日历功能中的天数,在一个图标中显示当前日期的天数

先上效果图:

Android开发—利用FrameLayout实现图标中间显示文字

关键xml布局文件:

<FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_margin="4dp" >
  
        <ImageView
            android:id="@+id/itemImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@android:drawable/ic_input_add" />
        <TextView 
            android:id="@+id/tvDays"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="#00000000"
            android:textColor="#FFFFFF"
            android:textSize="18sp"
            android:text="day"/>
    </FrameLayout>

其中android:layout_gravity="center" 让控件居中显示,android:background="#00000000"设置TextView背景完全透明(半透明:android:background="#e0000000")

 

Activity中对应代码:

    ImageView p_w_picpath = (ImageView)itemView.findViewById(R.id.itemImage);
   p_w_picpath.setImageResource(iconId);
   //设置p_w_picpath的padding
   p_w_picpath.setPadding(0, 0, 8, 0);
   TextView tvDay = (TextView)itemView.findViewById(R.id.tvDays);
   //只有当日的list图标中才显示天数
   if (iconId == R.drawable.today) {
    tvDay.setVisibility(View.VISIBLE);
    tvDay.setPadding(0, 0, 8, 0);
    tvDay.setText(currDay);
   }else{
    tvDay.setVisibility(View.INVISIBLE);
   }

 

 

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI