将 TextView 左对齐和居中对齐
Posted
技术标签:
【中文标题】将 TextView 左对齐和居中对齐【英文标题】:Align TextView on left and center 【发布时间】:2018-05-21 21:15:56 【问题描述】:我该如何实现呢?我尝试弄乱 android:layout_gravity center|left 和 android:gravity center|left ,但似乎都没有。我使用可跨行字符串有什么不同吗?
Here is what I have right now and what I want to achive. I want my Text to align to the red line
提前致谢。
My Layout.. 是 ID 状态的 TextView
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_
android:layout_
>
<!-- Main layout -->
<TextView
android:id="@+id/textView"
android:layout_
android:layout_
/>
<FrameLayout
android:id="@+id/main_fragment_container"
android:layout_
android:layout_
android:background="#f2f2f2">
<LinearLayout
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swiperefresh"
android:layout_
android:layout_
>
<LinearLayout
android:layout_
android:layout_
android:layout_gravity="center"
android:orientation="vertical"><![CDATA[
>
]]>
<include
layout="@layout/actionbarmenu"
android:layout_
android:layout_
android:layout_weight="0.64" />
<TextView
android:id="@+id/textView3"
android:layout_
android:layout_
android:layout_marginLeft="5dp"
android:background="#FAFAFA"
android:gravity="center|left"
android:text="Notfallübersicht"
android:textColor="#c9c9c9"
android:textSize="18sp" />
<EditText
android:id="@+id/Notfall"
android:layout_
android:layout_
android:layout_weight="0.36"
android:background="@drawable/round_grey"
android:ellipsize="end"
android:gravity="center"
android:hint="Notfall-Code Eingabe"
android:inputType="text"
android:paddingLeft="6dp"
android:singleLine="true"
android:textAllCaps="false"
android:textColor="#585858"
android:textColorHint="#c9c9c9"
android:textCursorDrawable="@drawable/black_cursor" />
<TextView
android:id="@+id/textView7"
android:layout_
android:layout_
android:layout_weight="0.70" />
<TextView
android:id="@+id/status"
android:layout_
android:layout_
android:layout_weight="3.63"
android:gravity="center"
android:textColor="#6f7070"
android:textSize="20sp"
android:visibility="visible" />
<TextView
android:id="@+id/abgemeldet"
android:layout_
android:layout_
android:layout_weight="10.08"
android:text="Bitte melde dich mit deinen Pengueen Log-In Daten an, um die App zu aktivieren. "
android:textSize="24sp" />
<TextView
android:id="@+id/user"
android:layout_
android:layout_
android:layout_marginLeft="5dp"
android:layout_weight="0.60"
android:text="Angemeldet als :"
android:textSize="14sp"
android:visibility="invisible" />
<TextView
android:id="@+id/angemeldet"
android:layout_
android:layout_
android:layout_marginLeft="5dp"
android:layout_weight="1.09"
android:text="Letzte Abfrage vor 1 Minute"
android:textSize="14sp"
android:textStyle="bold"
android:visibility="invisible" />
<Button
android:id="@+id/button"
style="@style/Widget.AppCompat.Button"
android:layout_
android:layout_
android:background="#4697c4"
android:text="Anmleden"
android:textColor="#ffffff"
android:visibility="gone" />
<RelativeLayout
android:layout_
android:layout_
android:layout_weight="0.74">
<!-- This could be your fragment container, or something -->
<FrameLayout
android:id="@+id/contentContainer"
android:layout_
android:layout_
android:layout_above="@+id/bottomBar" />
<com.roughike.bottombar.BottomBar
android:id="@+id/bottomBar"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
app2:bb_activeTabAlpha="1"
app2:bb_activeTabColor="#ffffff"
app2:bb_inActiveTabAlpha="0.6"
app2:bb_inActiveTabColor="#ffffff"
app2:bb_tabXmlResource="@xml/bottombar_tabs" />
</RelativeLayout>
</LinearLayout>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
</FrameLayout>
<!-- The navigation drawer -->
<ListView
android:id="@+id/left_drawer"
android:layout_
android:layout_
android:layout_gravity="start"
android:background="#51aadd"
android:choiceMode="singleChoice"
android:divider="@drawable/list_divider"
android:footerDividersEnabled="false"
android:headerDividersEnabled="true"
android:scrollbars="none" />
</android.support.v4.widget.DrawerLayout>
【问题讨论】:
发布您的 xml 代码 在DrawerLayout
中,您只需要一个不是抽屉的View
。任何非抽屉View
都被拉伸以填充DrawerLayout
,并且其layout_gravity
值被忽略。
【参考方案1】:
android:gravity 设置 View 内容的重力。
android:layout_gravity 设置 View 相对于其父级的重力。
你可以看到Difference between gravity and layout_gravity on Android
android:TextView的gravity默认值是left,这是你想要的,你只需要改变layout_gravity。
设置TextView android:layout_gravity="center_horizontal"时,应该设置android:layout_,而不是'match_parent'。
android:layout_
android:layout_gravity="center_horizontal"
【讨论】:
【参考方案2】:您将需要在所需的文本视图中使用它:
android:layout_
android:gravity="left"
android:layout_gravity="center_horizontal"
【讨论】:
现在整个文本左对齐但不居中以上是关于将 TextView 左对齐和居中对齐的主要内容,如果未能解决你的问题,请参考以下文章