我一直在寻找其他问题的答案,但我找不到我想要的答案。 我在LinearLayout中包含 TextView ,其中属性 android:layout_height 和 android:layout_width 设置为 match_parent 。
<LinearLayout
android:id="@+id/mylayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:orientation="vertical">
<TextView
android:id="@+id/mytextview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:singleLine="false"
android:text="@string/mytext"
android:textSize="@dimen/mytextsize" />
</LinearLayout>
我希望TextView文本在LinearLayout的中间开始;我的意思是,将文本垂直放置在LinearLayout的中间位置,但在 TextView 中保留 android:layout_height =“match_parent”。
有可能??
在onCreate方法的java代码中,我有这个来获得父代的中间点:
LinearLayout myLinearlayout = (LinearLayout) findViewById(R.id.mylayout);
myLinearLayout.measure(MeasureSpec.UNSPECIFIED,MeasureSpec.UNSPECIFIED);
int linearLayoutHeight = myLinearLayout.getMeasuredHeight();
int middlePoint = linearLayoutHeight / 2;
现在,我不知道如何在这一点上定位文本的顶行。感谢
**编辑1 **
我忘了提到textview是可滚动的,文本太长了。
答案 0 :(得分:2)
试试这个
<LinearLayout
android:id="@+id/mylayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:orientation="vertical">
<TextView
android:id="@+id/mytextview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|left"
android:singleLine="false"
android:text="@string/mytext"
android:textSize="@dimen/mytextsize"/>
答案 1 :(得分:1)
试试这个:
<LinearLayout
android:id="@+id/mylayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:orientation="vertical">
<TextView
android:id="@+id/mytextview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:singleLine="false"
android:text="@string/mytext"
android:textSize="@dimen/mytextsize" />
</LinearLayout>
答案 2 :(得分:0)
这会在TextView
上方添加50%的空白区块,让人觉得TextView的位置略低于LinearLayout
的中间位置。
<LinearLayout
android:id="@+id/mylayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<TextView
android:id="@+id/mytextview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:singleLine="false"
android:text="@string/mytext"
android:textSize="@dimen/mytextsize" />
</LinearLayout>
答案 3 :(得分:0)
//中心TextView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="@drawable/header_footer_bankground_border_color"
android:orientation="veritcal" >
<TextView
android:id="@+id/tv_welcome"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:gravity="center"
android:text="Some text here"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>