android - 将Textview设置在Action Bar的极右角和中间

标签 android resize actionbarsherlock

我已经实现了 Sherlock Actionbar,目前有一个动态变化的 TextView 。我想设置 3 个 TextView 最右角和中间,最后一个在最左边。我怎样才能实现这个? textview gravity 和 layout gravity 都不起作用。他们有什么方法可以实现这个吗?我的 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);

我的 TextView 的 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 个 TextView ,并使其在我的操作栏中可调整,例如,

TEXTVIEW1       TEXTVIEW2       TEXTVIEW3

我不想实现Tab View ,只想用上面的方式实现3个textview。

最佳答案

这是您应该对 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>

关于android - 将Textview设置在Action Bar的极右角和中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17488197/

相关文章:

java - 检查字符串是否等于 Android/Java

css - @media 适用于浏览器窗口调整大小,但不适用于手机

javascript - 计算换行符数量的函数在 $(window).on ('resize' ) 和 $(document).ready 上的作用不同

android - 使用 ActionBarSherlock 进行基本的三选项卡导航

Android - ActionBarSherlock - 设置子菜单中文本的文本颜色

android - Sherlock Action Bar + map 插件如何配置?

android - Android TabHost 上的徽章

java - 使用 XMPP 服务器和 Google Cloud Messaging(或更新的 Firebase Cloud Messaging)推送通知的 Android 聊天应用程序

android - 在导航栏中将后退按钮更改为向下箭头

jquery - Firefox 最大化不会触发调整大小事件