我将LinearLayout设置为100dp的静态高度。然后我在其中有一个textView,我将其设置为WRAP_CONTENT。问题是当textView的高度大于100dp时,textView导致LinearLayout完全展开以容纳textView
我这样设置是因为我希望能够在用户点击按钮时显示和隐藏全文。我认为将linearlayout的高度设置为最小值,然后在单击时将其更新为WRAP_CONTENT,但是当我尝试限制高度时,LinearLayout会忽略它。我试图将clipChildren设置为true,但这并没有帮助。代码如下。我正在使用Android Annotations,但我不认为这与问题有关。
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="30dp"
android:fitsSystemWindows="true"
android:background="@color/light_grey">
<LinearLayout
android:orientation="vertical"
android:clipChildren="true"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="100dp">
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Java代码:
@EActivity(R.layout.activity_test)
public class TestActivity extends AppCompatActivity {
@ViewById(R.id.text_view)
TextView textView;
String input;
public static final String INPUT_STRING_KEY = "inputStringKeyForParser";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.input = this.getIntent().getExtras().getString(INPUT_STRING_KEY);
}
@AfterViews
public void showText() {
textView.setText(input);
}
}
有谁知道如何让TextView停止导致linearlayout扩展?谢谢!
答案 0 :(得分:0)
尝试
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="100dp" />
答案 1 :(得分:0)
确定。我认为您不能以这种方式应用高度属性,因为您的布局是ScrollView的子级。将TextView放在另一个LinearLayout中,如下所示:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="30dp"
android:fitsSystemWindows="true"
android:background="@color/light_grey">
<LinearLayout
android:orientation="vertical"
android:clipChildren="true"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="100dp">
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>