欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

动态计算文字高度,加载不同的布局

程序员文章站 2022-07-04 16:23:43
package com.example.testdemo;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.text.method.ScrollingMovementMethod;import android.view.Display;import android.view.View;import android.view.ViewGroup;import andr...
public class CenterActivity extends AppCompatActivity {

    private TextView tvText;
        private String str = "你好";
//    private String str = "scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        int i = selectLayout();
//        if (1 == i) {
//            setContentView(R.layout.activity_center);
//        } else if (2 == i) {
//
//        }
        setContentView(R.layout.activity_center2);
        tvText = findViewById(R.id.tvText);
        tvText.setText(str);
        if (i == 1) {
            ViewGroup.LayoutParams layoutParams = tvText.getLayoutParams();
            if (layoutParams != null) {
                layoutParams.height = 1550;
                tvText.setLayoutParams(layoutParams);
            }
        }

//        tvText.setMovementMethod(ScrollingMovementMethod.getInstance());
//        System.out.println("lgj measureHeight : " + measuredHeight);
//        ViewGroup.LayoutParams layoutParams = tvText.getLayoutParams();
//        System.out.println("lgj layoutParams :" + layoutParams);
//        if (layoutParams != null){
//            layoutParams.height = measuredHeight;
//            tvText.setLayoutParams(layoutParams);
//            tvText.requestLayout();
//        }

        }

        private int selectLayout () {
            TextView textView = new TextView(this);
            textView.setText(str);
            Display defaultDisplay = getWindowManager().getDefaultDisplay();
            int width = defaultDisplay.getWidth();
            int height1 = defaultDisplay.getHeight();
            //给宽度加上设置条件,最多只有屏幕宽
            int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.AT_MOST);
            textView.measure(widthMeasureSpec, 0);
            int measuredHeight = textView.getMeasuredHeight();
            if (measuredHeight > height1) {
                return 2;
            }
            return 1;
        }
    }
package com.example.testdemo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.Display;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class CenterActivity extends AppCompatActivity {

    private TextView tvText;
//    private String str = "你好";
    private String str = "scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)scrollview 在使用过程中的问题(scrollview 作为父控件时子控件无法展示的问题)";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        int i = selectLayout();
        if (1 == i){
            setContentView(R.layout.activity_center);
        }else {
            setContentView(R.layout.activity_center2);
        }
        tvText = findViewById(R.id.tvText);
        tvText.setText(str);
//        tvText.setMovementMethod(ScrollingMovementMethod.getInstance());
//        System.out.println("lgj measureHeight : " + measuredHeight);
//        ViewGroup.LayoutParams layoutParams = tvText.getLayoutParams();
//        System.out.println("lgj layoutParams :" + layoutParams);
//        if (layoutParams != null){
//            layoutParams.height = measuredHeight;
//            tvText.setLayoutParams(layoutParams);
//            tvText.requestLayout();
//        }

    }

    private int selectLayout() {
        TextView textView = new TextView(this);
        textView.setText(str);
        Display defaultDisplay = getWindowManager().getDefaultDisplay();
        int width = defaultDisplay.getWidth();
        int height1 = defaultDisplay.getHeight();
        //给宽度加上设置条件,最多只有屏幕宽
        int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.AT_MOST);
        textView.measure(widthMeasureSpec,0);
        int measuredHeight = textView.getMeasuredHeight();
        if (measuredHeight > height1){
            return 2;
        }
        return 1;
    }
}

布局代码activity_center

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:fillViewport="true"
    android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/iv"
            android:layout_width="52dp"
            android:layout_height="52dp"
            android:layout_alignParentBottom="true"
            android:layout_marginLeft="20dp"
            android:layout_marginBottom="20dp"
            android:src="@mipmap/ic_launcher" />

        <ImageView
            android:layout_width="52dp"
            android:layout_height="52dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:layout_marginRight="20dp"
            android:layout_marginBottom="20dp"
            android:src="@mipmap/ic_launcher" />

        <TextView
            android:id="@+id/tvText"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/iv"
            android:gravity="center"
            android:scrollbars="vertical"
            android:text="你好"
            android:textSize="20dp" />
    </RelativeLayout>
</ScrollView>

布局代码activity_center2

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:fillViewport="true"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/tvText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/iv"
            android:gravity="center"
            android:text="你好"
            android:textSize="20dp" />
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_marginBottom="20dp"
            android:layout_height="72dp">
            <ImageView
                android:id="@+id/iv"
                android:layout_width="52dp"
                android:layout_height="52dp"
                android:layout_alignParentBottom="true"
                android:layout_marginLeft="20dp"
                android:src="@mipmap/ic_launcher" />
            <ImageView
                android:layout_width="52dp"
                android:layout_height="52dp"
                android:layout_alignParentRight="true"
                android:layout_alignParentBottom="true"
                android:layout_marginRight="20dp"
                android:src="@mipmap/ic_launcher" />

        </RelativeLayout>
    </LinearLayout>
</ScrollView>

本文地址:https://blog.csdn.net/weixin_39413778/article/details/108695132

相关标签: UI篇章