相关疑难解决方法(0)

如何向Android活动添加底部菜单

我正在尝试在活动布局的底部添加另一个操作栏或菜单,并保留顶部操作栏.

像这样的东西:

我的布局

这是我的布局:

<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"
tools:context="com.example.yasser.version6.PublierActivity">


<include
    android:id="@+id/toolbar"
    layout="@layout/toolbar" />



<RelativeLayout
     android:layout_width="fill_parent"
     android:layout_height="match_parent"
     >


    <LinearLayout
        android:layout_width="fill_parent"
        android:id="@+id/user"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1">


        <ImageView
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_gravity="center"
            android:layout_margin="4dp"
            android:id="@+id/profil_image"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_marginRight="218dp"
            android:layout_marginEnd="218dp" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textMultiLine|textCapSentences"
            android:ems="10"
            android:background="#00000000"
            android:layout_margin="4dp"
            android:hint="Écriver quelque chose..."
            android:id="@+id/publication_text"
            android:maxLength="150"
            android:textSize="15dp"
            android:maxLines="3"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">
            <requestFocus />
        </EditText>


    </LinearLayout>




    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="@dimen/image_size"
        android:id="@+id/publication_image"
        android:layout_weight="1"
        android:padding="0dp"
        android:background="@drawable/default_image"
        android:layout_marginTop="5dp"
        android:scaleType="fitXY"
        android:layout_below="@+id/user" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我试图添加一个自定义RelativeLayout,看起来几乎像一个操作栏,但工具栏上升,搞砸了一切.

android menu android-layout android-actionbar

12
推荐指数
2
解决办法
1万
查看次数

将我的ActionBar放在底部

我遵循了关于在我的应用程序中获取动作栏的教程.但即使我放入android:uiOptions="splitActionBarWhenNarrow"我的Manifest文件,它仍然保持在顶部.任何人对如何处理此代码有任何想法?

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"
android:background="#f0f0f0" 
android:baselineAligned="false">

<LinearLayout 
    android:id="@+id/myFragments"
    android:layout_width="match_parent"
    android:layout_height="0dp">

</LinearLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.alotoftesting"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" 
        android:uiOptions="splitActionBarWhenNarrow">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

xml android android-actionbar

7
推荐指数
2
解决办法
2万
查看次数

AppCompat v7:21拆分操作栏坏了吗?

我目前正在开发一个应用程序,其中我使用了一个经过大量修改的Split Action Bar.这是应用程序当前状态的链接:

截图

您会注意到顶部有一个透明的操作栏,其中有一个自定义视图,底部有一个被黑客攻击的分割操作栏.底部视图实际上是一个单独的操作项,其中自定义视图充气并且showAlways = true.

目前我只支持SDK v15 +,我并不打算改变它,但是刚刚发布的Lollipop AppCompat库,我决定实现它,所以我可以在我的应用程序中获得一些非常棒的功能.

我已经将主题更改为Theme.AppCompat.Light,而我的MainActivity现在扩展了ActionBarActivity而不是Activity.

所有对getActionBar的引用现在都已切换到getSupportActionBar,只有这些更改,这就是我的活动现在的样子:

另一个截图

您会注意到我从设备监视器获得了一个UI转储,它将底部操作栏推入一个奇怪的空间并调用操作栏,并摆脱我的顶级自定义视图.

这是我设置操作栏的代码:

public void initializeActionBar(){
    View customNav = LayoutInflater.from(this).inflate(R.layout.action_bar_top, null);

    actionBar = getSupportActionBar();
    actionBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.transparent_fifty_percent));

    final PopupWindow window = addPopupWindow();

    actionBarOptions = (ImageView)customNav.findViewById(R.id.options);
    actionBarOptions.setVisibility(View.GONE);
    actionBarOptions.setImageDrawable(app.svgToBitmapDrawable(getResources(), R.raw.vertical_ellipsis, app.scaleByDensity(48)));
    actionBarOptions.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            window.showAsDropDown(actionBarOptions, 0, 0);
        }
    });
    TextView title = (TextView) customNav.findViewById(R.id.screen_title);
    Typeface font1 = Typeface.createFromAsset(getAssets(), "Merriweather-Italic.ttf");

    title.setText("Parsley");
    title.setTypeface(font1);

    actionBar.setCustomView(customNav);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayUseLogoEnabled(false);

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    new MenuInflater(this).inflate(R.menu.test, menu);


    LinearLayout …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-actionbar

7
推荐指数
1
解决办法
3891
查看次数

如何在工具栏上居中操作菜单

我有一个带分割操作栏的应用程序加载一个动作菜单.

我更改了新工具栏的操作栏,并用独立模式中使用的其他工具栏替换了拆分操作栏:

Toolbar toolbarBottom = (Toolbar) findViewById(R.id.toolbarBottom);
toolbarBottom.inflateMenu(R.menu.ab_one_cam);
Run Code Online (Sandbox Code Playgroud)

如文档中所指定,操作菜单位于工具栏右侧的引脚: 在此输入图像描述

但我希望图标在工具栏上居中,就像它在拆分操作栏上一样: 在此输入图像描述

如何使操作菜单占用工具栏上的所有可用空间?

工具栏专用于此菜单,不会在其上添加任何其他内容.

回答

接受的答案链接指向拆分工具栏.如果像我这样你需要这个代码就足够了:

public class SplitToolbar extends Toolbar {

    public SplitToolbar(Context context) {
        super(context);
    }

    public SplitToolbar(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public SplitToolbar(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public void addView(View child, ViewGroup.LayoutParams params) {
        if (child instanceof ActionMenuView) {
            params.width = LayoutParams.MATCH_PARENT;
        }
        super.addView(child, params);
    }
}
Run Code Online (Sandbox Code Playgroud)

归功于:https://gist.github.com/dodgex/7bc81fd2cbb70a8d5117

android android-5.0-lollipop android-toolbar

6
推荐指数
1
解决办法
6239
查看次数

Android:如何替换TOOLBAR菜单中的三个点(不是操作栏)

如何用图像替换工具栏中出现的三个点.

这甚至可能吗?

android toolbar

1
推荐指数
1
解决办法
3230
查看次数