java - 引用所有 TextView

标签 java android xml layout textview

我正在尝试将应用程序中所有 TextView 的大小设置为特定大小。

    public void rbFontClicked(View view) {
        // Is the button now checked?
        boolean checked = ((RadioButton) view).isChecked();

        // Check which radio button was clicked
        switch(view.getId()) {
            case R.id.rbsmall:
                if (checked)
                    //eveysingletextview.setTextSize(12)
                    everysingleedittext.setTextSize(12)
                break;

            case R.id.rbmedium:
                if (checked)
                    // do nothing
                break;

            case R.id.rblarge:
                if (checked)
                    // set dimension to large font,
                break;

我将如何引用所有 TextView ?我也需要对 Edittexts 执行此操作,因此我不想单独引用每个 View ,这将花费很长时间。

TIA。

最佳答案

int size = 10;
switch(view.getId()) {
            case R.id.rbsmall:
                if (checked)
                   size = 12;
                break;  

// other case

}

  ViewGroup root = (ViewGroup) findViewById(R.id.rootLayout);
  int children = root.getChildCount();
  for (int i = 0; i < children; i++) {
      View view  = root.getChildAt(i);
      if (view instanceOf TextView) {
        TextView tmp = (TextView)view;
        view.setText(size);
      }
  }

它并不优雅,但应该可以工作。检查是否有拼写错误

关于java - 引用所有 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19771627/

相关文章:

java - 如何使用 RestTemplate 安全调用 RestFul 服务

java - 如何将 MultipartFile 转换为 FileSystemResource

java - DynamoDBMapper : Non-set collections aren't supported when try to convert a list

java - 在 Android 中,如何将 View 附加到软键盘?

java - 基本的 XML 解析问题。无法通过 Java XmlStreamReader 方法找到节点名称。有任何想法吗?

java - 在 Sax XML 解析器中获取父子层次结构

android - 无法使用 SimpleXML 和 Retrofit 解析带有 CDATA block 的 xml

java - Spring LdapTemplate - 如何读取具有相同属性名称的值

android - 通话记录器在 android 10 (Q) 中不起作用

android - 在 Android 上将对象保存到 Firebase 时出现 "Aborting transactions for path"