1

我已经实现了 Sherlock Actionbar,目前有一个动态变化的文本视图。我想将 3 个文本视图设置为极右角和中间,最后一个在极左。我该如何实现?textview 重力不起作用,布局重力也不起作用。他们有什么方法可以实现这一点吗?我的文本视图代码现在显示在操作栏的最左角。

    mActionBar = getSupportActionBar();
    mActionBar.setDisplayShowHomeEnabled(false);
    mActionBar.setDisplayShowTitleEnabled(false);

    mInflater = LayoutInflater.from(this);
    mCustomView = mInflater.inflate(R.layout.actiontext, null);
    mTitleTextView = (TextView) mCustomView.findViewById(R.id.menutesttext);

    mActionBar.setCustomView(mCustomView);
    mActionBar.setDisplayShowCustomEnabled(true);

我的文本视图的 xml 文件是

    <?xml version="1.0" encoding="utf-8"?>
  <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/expand_activities_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:clickable="false"
android:focusable="true"
android:addStatesFromChildren="true">

<TextView android:id="@+id/menutesttext"
    android:layout_width="82dp"
    android:layout_height="20dp"
    android:layout_gravity="center"
    android:gravity="center"
    android:text="Testing"/>
   </FrameLayout>

现在我想要在此框架布局中设置另外 2 个文本视图,并使其在我的操作栏中进行调整,例如,

TEXTVIEW1       TEXTVIEW2       TEXTVIEW3

我不想实现 Tab 视图。只想以上述方式实现 3 个 textview。

4

2 回答 2

1

这是您应该对 FrameLayout 执行的操作:

<?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/expand_activities_button"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:clickable="false"
        android:focusable="true"
        android:addStatesFromChildren="true">

    <TextView android:id="@+id/menutesttextcenter"
        android:layout_width="82dp"
        android:layout_height="20dp"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal"
        android:text="Testing"/>

    <TextView android:id="@+id/menutesttextright"
        android:layout_width="82dp"
        android:layout_height="20dp"
        android:layout_gravity="right"
        android:gravity="right"
        android:text="Testing"/>

    <TextView android:id="@+id/menutesttextleft"
        android:layout_width="82dp"
        android:layout_height="20dp"
        android:layout_gravity="left"
        android:gravity="left"
        android:text="Testing"/>

    </FrameLayout>

或者,您可以使用下面的 LinearLayout 轻松实现此目的。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textViewLeft"
        android:layout_width="wrap_content"
        android:gravity="left"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <TextView
        android:id="@+id/textViewCenter"
        android:layout_width="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <TextView
        android:id="@+id/textViewRight"
        android:layout_width="wrap_content"
        android:layout_weight="1"
        android:gravity="right"
        android:layout_height="wrap_content"
        android:text="TextView" />

</LinearLayout>
于 2013-07-05T12:01:52.717 回答
0

在工具栏标签内添加此相对布局。

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="end|bottom">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/txt_pumpname"
        android:text="@string/app_name"
        android:paddingTop="33dp"
        android:textSize="16sp"
        android:textColor="@color/colorPrimaryDark" />

</RelativeLayout>
于 2018-05-21T16:45:07.827 回答