简体   繁体   English

如何在Android中以编程方式设置滚动视图?

[英]How to set scroll view by programmatically in Android?

I want to set the scroll view height, width, margin and set at below the text view and at the right of relative layout. 我想设置滚动视图的高度,宽度,边距,并设置在文本视图下方和相对布局的右侧。 I tried to set only height of scroll view dynamically. 我试图仅动态设置滚动视图的高度。 But how to set margin of scroll view and how to keep it programmatically at: 但是如何设置滚动视图的边距以及如何以编程方式将其保持在:

        android:layout_below="@+id/item_textInspectorName"
        android:layout_toRightOf="@+id/rel_out_two"

Here is my XML code 这是我的XML代码

<RelativeLayout> ................
  <ScrollView
            android:id="@+id/scrollExpand"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_below="@+id/item_textInspectorName"
            android:layout_toRightOf="@+id/rel_out_two"
            android:layout_marginLeft="7.5dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="6dp"

            android:background="@android:color/white"
            android:fillViewport="true">

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

                <com.example.tazeen.classnkk.ExpandableTextView
                    android:id="@+id/expandable_text"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:ellipsize="end"
                    android:text="expand"
                    android:textColor="@android:color/black"
                    android:textSize="12sp"
                    android:textStyle="normal" />
            </LinearLayout>
        </ScrollView>

</RelativeLayout> ................

And here is my Activity code which is set the height of dynamically . 这是我的Activity代码,该代码动态设置了高度。

ExpandableTextView txtRemark = (ExpandableTextView)findViewById(R.id.expandable_text);
        int strRemarkLength = strRemark.length();
        if(strRemarkLength > 100)
        {
            txtRemark.setText(strRemark.concat(" ...Less"));
            Log.e("", " Lesss !!!");
            scrollView.setLayoutParams(new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.FILL_PARENT, 350));
        }
        else
        {
            txtRemark.setText(strRemark);
            Log.e("", "Not Lesss !!!");
        }

Here is my sample 这是我的样品

MainActivity.xml MainActivity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorAccent"
        android:gravity="center">

        <TextView
            android:id="@+id/top_textview"
            android:layout_width="match_parent"
            android:layout_height="80dp"
            android:text="Top Text" />

        <TextView
            android:id="@+id/left_textview"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:layout_below="@+id/top_textview"
            android:text="Left Text"/>

            <ScrollView
                android:id="@+id/scrollExpand"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#ffffff"
                android:fillViewport="true">

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

                    <TextView
                        android:id="@+id/expandable_text"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:text="expand"
                        android:textColor="@android:color/black"
                        android:textSize="12sp"
                        android:textStyle="normal" />
                </LinearLayout>
            </ScrollView>
    </RelativeLayout>

MainActivity.Java MainActivity.Java

ScrollView scrollView = (ScrollView) findViewById(R.id.scrollExpand);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300);
    params.setMargins(20, 20, 20, 20);
    params.addRule(RelativeLayout.BELOW, R.id.top_textview);
    params.addRule(RelativeLayout.RIGHT_OF, R.id.left_textview);
    scrollView.setLayoutParams(params);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM