par*_*tiz 10 android android-layout android-menu android-studio android-toolbar
我在这里问了一个类似的问题......我在答案中得到了一些教程.但这个问题是diffrenet.因为这个方法都没有在我的项目中起作用.
我想要中心工具栏中的所有图标
我测试了所有可用的方式......但总是图标在左边浮动.
我想要居中的图标(我更喜欢左侧图标浮动左右图标浮动右侧,其他图标浮动中心)
Activity.Main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" // I add vertical
tools:context=".MainActivity">
<include
android:id="@+id/tool_bar"
layout="@layout/tool_bar"
android:layout_height="wrap_content"
android:layout_width="match_parent" // I add match_parent
android:layout_gravity="center" /> // I add center
</LinearLayout>.
Run Code Online (Sandbox Code Playgroud)
也在tool_bar.xml中
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:background="@color/ColorPrimary"
android:elevation="2dp"
android:theme="@style/Base.ThemeOverlay.AppCompat.Dark"
android:layout_gravity="center" // I add center
xmlns:android="http://schemas.android.com/apk/res/android" />
Run Code Online (Sandbox Code Playgroud)
在main_menu.xml中
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item
android:id="@+id/action_forward"
android:title="forward"
android:icon="@drawable/ic_action_arrow_forward"
app:showAsAction="always"
></item>
<item
android:id="@+id/action_zoom_in"
android:title="zoom in"
android:icon="@drawable/ic_action_zoom_in"
app:showAsAction="always"
></item>
<item ...
Run Code Online (Sandbox Code Playgroud)
对于上面的代码(main_menu.xml),<item>我尝试了所有这些代码:
android:layout_width="match_parent"
android:layout_weight=".2" // 20%
android:gravity="center"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
Run Code Online (Sandbox Code Playgroud)
我真的不知道我能做什么来对齐图标.我google了几个小时,我尝试了所有的senario
我错了什么?对于所有测试,我看不出任何变化......

之前我想要pic2(上图)但是现在我只想要中心吧!
对于我的所有测试,我只得到图片1.没有任何改变.
小智 5
解决这个问题,享受:)
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
android:background="?attr/colorPrimary">
<!-- Code for your Left Button -->
<ImageView
android:id="@+id/yourId"
android:src="@mipmap/yourLeftIcon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_gravity="left" />
<!-- Here is the main code for your Middle Buttons -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:id="@+id/button1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:id="@+id/button2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:id="@+id/button3"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:id="@+id/button4" />
</LinearLayout>
<!-- Code for your Right Button -->
<ImageView
android:id="@+id/yourId"
android:src="@mipmap/yourRightIcon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_gravity="right" />
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
工具栏与任何其他视图一样。您可以直接向其中添加子项并像访问普通视图一样进行访问。
这不是您问题的确切答案,但它会告诉您要走的路。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/holo_red_light"
android:elevation="2dp"
android:theme="@style/Base.ThemeOverlay.AppCompat.Dark">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:id="@+id/button1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:id="@+id/button2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:id="@+id/button3"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:id="@+id/button4" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
然后在您的主要片段或其他任何地方您都可以访问类似的内容。
Toolbar mToolbar = (Toolbar) root.findViewById(R.id.tool_bar);
Button button1 = (Button) mToolbar.findViewById(R.id.button1);
Button button2 = (Button) mToolbar.findViewById(R.id.button2);
Button button3 = (Button) mToolbar.findViewById(R.id.button3);
Button button4 = (Button) mToolbar.findViewById(R.id.button4);
Run Code Online (Sandbox Code Playgroud)
您可以使用此方法以任何您喜欢的方式制作自定义工具栏。您可能想要使用相对布局。
| 归档时间: |
|
| 查看次数: |
17203 次 |
| 最近记录: |