android - ToolBar小部件没有占用全宽

时间:2016-09-20 02:31:23

标签: java android android-toolbar

我现在正在学习机器人,这里很新人, 并且对ToolBar感到困惑,一直在阅读其他内容,但似乎并不适合我。 在MainActivity中工具栏工作正常,工具栏中的按钮向右移动而没有填充 但是当我搬到另一个活动 按钮没有放在右边,好像那里有一个填充物,

这是我的toolbar.xml

#! /usr/bin/env perl

use feature qw(say);
use strict;
use warnings;

my $child_pid = open ( my $fh, '-|', 'child.pl' ) or die "Could not start child: $!";

$SIG{INT} = sub {
    $SIG{CHLD}="DEFAULT";
    die "Caught SIGINT"
};

$SIG{CHLD} = sub {
    $SIG{INT}="IGNORE";
    die "Caught SIGCHLD: Child exited.."
};

eval {
    while (1) {
        msg( "sleeping(1).." );
        sleep 1;
        #internal_failure();
        msg( "waiting for child input.." );
        my $line = <$fh>;
        if ( defined $line ) {
            chomp $line;
            msg( "got line: '$line'" );
        }
        else {
            die "Could not read child pipe.";
        }
        msg( "sleeping(2).." );
        sleep 2;
    }
};

if ( $@ ) {
    chomp $@;
    msg( "interrupted: '$@'" );
}

close $fh; # close() will implicitly call waitpid()

if    ( $? == -1  ) { msg( "Closing child pipe failed: $!" ); }
elsif ( $? & 0x7F ) { msg( "Child died from signal ".( $? & 0x7F ) ); }
elsif ( $? >> 8   ) { msg( "Child exited with error ".( $? >> 8 ) ); }
else                { msg( "Child executed successfully" ); }

exit;

sub msg { say "Parent: " . $_[0]  }

sub internal_failure {
    $SIG{CHLD}="DEFAULT";
    $SIG{INT}="IGNORE";
    die "internal failure";
}

我的第二项活动

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
>
   <android.support.v7.widget.Toolbar
       android:id="@+id/toolbar"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="#5f0e92"
       app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>

onCreate函数我把这个

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Lay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include layout="@layout/toolbar"
    android:id="@+id/include"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />
<ScrollView
    android:id="@+id/scrollOff"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:layout_above="@+id/TotShow"
    android:layout_below="@+id/include"
    android:visibility="gone">
    <TableLayout
        android:layout_width="match_parent" android:layout_height="32dp"
        android:gravity="center_horizontal"
        android:id="@+id/tableLayoutOff"
        android:stretchColumns="*">
    </TableLayout>
</ScrollView>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Small Text"
    android:id="@+id/TotShow"
    android:layout_gravity="center_horizontal"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true" />
</RelativeLayout>

------------ ----------------编辑

忘了按钮/切换 toggle.xml

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

customview:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:gravity="right">
<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button"
    android:background="@android:drawable/ic_menu_help"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/actionbar_service_toggle"
    android:layout_toStartOf="@+id/actionbar_service_toggle" />
<ToggleButton
    android:id="@+id/actionbar_service_toggle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textOff="inchi"
    android:textOn="milli"
    android:gravity="right"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

   </RelativeLayout>

在我的MainActivity中,这项工作非常精细

first mainactivity

在第二个活动中似乎有正确的填充

second activity

1 个答案:

答案 0 :(得分:0)

我解决这个问题 我很抱歉这个麻烦, 似乎我在我的代码上做了一些愚蠢的事情, 我不小心保留了这段代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present..

    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
好吧,目前我正在学习这个android,所以我只是复制粘贴主活动中的代码,并在禁用主菜单中添加菜单后,我忘了在第二个活动中禁用它,所以有一个菜单当我尝试点击它时,透明的权利,按钮工作,这是我意识到我的错误。