zlbcdn 2024-08-19 12:01 采纳率: 0%
浏览 3

Android中手动改变textview字体大小

安卓开发者,目前遇到一个问题。
我用GridView展示了一组图片+一个提示词。如下图所示

img

我想在点击某一个view时,背景替换、文字居中、文字放大。前两个(换背景、字体居中)是ok的,但是字体放大(设置textsize),没反应。

img

等到再点击一次,才字体变大,如下图所示

img

【问题】
怎样才能在第一次点击时,实现字体放大呢?

  • 写回答

1条回答 默认 最新

  • 何事_ 2024-08-19 12:01
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要在Android中手动改变TextView的字体大小,并在第一次点击时实现字体放大,你可以在你的代码中设置一个点击监听器来实现这个需求。这里给出一个简单的实现示例。假设你已经有一个GridView并且GridView中的每一项包含一个TextView。下面是你可能需要的代码片段:

    首先,确保在你的XML布局文件中设置了正确的字体大小(默认大小)。例如:

    <TextView
        android:id="@+id/textViewInGrid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="默认大小值" // 默认字体大小值,例如 16sp
        android:text="文字内容" />
    

    然后在你的Java代码中设置一个点击监听器来处理点击事件和字体大小变化。这是一个可能的实现:

    // 假设你已经得到了GridView的引用
    GridView gridView = findViewById(R.id.your_grid_view);
    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        private boolean isFirstClick = true; // 用于判断是否是第一次点击的标志位
        private int targetSize = 更大的大小值; // 目标字体大小,例如你想要的放大后的大小
        private int defaultSize = 默认大小值; // 默认字体大小,这是TextView初始化时的字体大小值
        private TextView clickedTextView; // 存储被点击的TextView引用
    
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            clickedTextView = (TextView) view.findViewById(R.id.textViewInGrid); // 获取被点击的TextView引用
            if (isFirstClick) { // 如果是第一次点击,改变字体大小并设置背景等属性
                clickedTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, targetSize); // 设置新的字体大小
                // 这里可以设置背景颜色等其他属性,例如:clickedTextView.setBackgroundColor(...); 等... 省略代码... 否则不会看到背景替换效果等后续操作,你可以自定义实现这些功能。你需要添加相关的属性设置代码,并在这里设置好你的GridView布局文件(GridView中的Item布局文件)的相应属性,然后在代码中调用这些属性设置方法。这样你就可以在第一次点击时改变字体大小和背景等属性了。如果设置正确的话,应该可以在第一次点击时立即看到效果。注意在设置背景颜色等属性时,确保你已经设置了正确的背景颜色等属性。同时确保你的GridView布局文件和GridView中的Item布局文件已经正确配置好,以便在点击事件中正确地应用这些属性设置。在调用设置背景等属性的方法后,你会在第一次点击时立即看到背景替换和字体放大的效果。同时请确保你的应用有足够的权限来更改视图属性。如果仍然遇到问题,请检查你的代码和布局文件是否正确无误,并确保你的应用有足够的权限来更改视图属性。此外,你可以使用Log或其他调试工具来检查你的代码是否在正确的地方执行了字体大小的更改操作。
    
    评论

报告相同问题?

问题事件

  • 创建了问题 8月19日

悬赏问题

  • ¥15 jetson nano
  • ¥15 :app:debugCompileClasspath'.
  • ¥15 windows c++内嵌qt出现数据转换问题。
  • ¥20 公众号如何实现点击超链接后自动发送文字
  • ¥15 用php隐藏类名和增加类名
  • ¥15 算法设计与分析课程的提问
  • ¥15 用MATLAB汇总拟合图
  • ¥15 智能除草机器人方案设计
  • ¥15 对接wps协作接口实现消息发送
  • ¥15 SQLite 出现“Database is locked” 如何解决?