Java 为什么带权重的textview在文本换行时具有无效的高度?

Java 为什么带权重的textview在文本换行时具有无效的高度?,java,android,textview,android-xml,android-wrap-content,Java,Android,Textview,Android Xml,Android Wrap Content,我有一个对话框,它有一个布局xml。控件是垂直对齐的,在一行中有一个textview和一个seekbar。Textview的权重为1,seekbar的权重为2 现在的问题是,如果textview无法容纳,它将被包装,但textview的高度不会调整,并且第二行不可见 布局xml: ……其他控制措施。。。。。 ……其他控制措施。。。。。 好的,我想我有办法了 为ScrollView宽度和高度以及水平线布局宽度设置match_父项 您必须显示LinearLayout周围的内容,因为可能存在问题。删除

我有一个对话框,它有一个布局xml。控件是垂直对齐的,在一行中有一个textview和一个seekbar。Textview的权重为1,seekbar的权重为2

现在的问题是,如果textview无法容纳,它将被包装,但textview的高度不会调整,并且第二行不可见

布局xml:

……其他控制措施。。。。。 ……其他控制措施。。。。。
好的,我想我有办法了

为ScrollView宽度和高度以及水平线布局宽度设置match_父项


您必须显示LinearLayout周围的内容,因为可能存在问题。删除此行并检查android:layout\u weight=1如果使用LinearLayout,则其工作正常父LinearLayout高度不会在TextView高度更改中调整。快速修复:使TextView单行也稍微减小其textSize。em惊讶地发现,这是如何工作的android:layout_width=0px?:你应该。因此TextView不会更改其高度。android:lines=3应该可以做到这一点。只需将TextView垂直居中即可。我更改了XML,并在Eclipse/图形布局中正确显示了它。万岁!但后来我试了试我的设备,它仍然不正常。请注意,此布局用于对话框,而不是活动。代码:最终对话框设置=新对话框此;dialogSettings.requestWindowFeatureWindow.FEATURE\u NO\u标题;dialogSettings.setContentViewR.layout.dialog\u设置。。。TextViewdialogSettings.findViewByIdR.id.textView\u dialog\u settings.setText。。。。dialogSettings.show;而且也许这就是问题所在?textview文本在setContentView之后更改。不,我删除了setContentView之后的setText,以便只使用XML中的内容,但在设备/对话框上仍然相同。很可能对话框会破坏它?不建议您以这种方式创建对话框。读这个。我使用过AlertDialog.Builder,现在它就像一个符咒一样工作。更可取的方法是使用DialogFragment。我用AlertDialog替换了对话框,现在它看起来就像我想要的一样。谢谢
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

  <LinearLayout 
    android:id="@+id/dialog_settings_layout_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minWidth="240dp"
    android:padding="10dp"
    android:orientation="vertical" >
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = getLayoutInflater().inflate(R.layout.dialog_layout, null);
builder.setView(view);
AlertDialog dialog = builder.create();

dialog.show();