在早于Lollipop版本的设备上,使用Material Design的工具栏。

11 浏览
0 Comments

在早于Lollipop版本的设备上,使用Material Design的工具栏。

我正在跟随下一个教程:\n

\n我想要实现类似的设计:\n\"md\"\n我知道我需要使用两个工具栏。\nvalues/themes.xml\n



    

\nclass.java\n

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.Toolbar;
public class RegistrarInciTraActivity extends ActionBarActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.registrar_inci_traf_layout);
        //隐藏ActionBar
        getSupportActionBar().hide();
       Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
       setSupportActionBar(toolbar);
    }
}

\nlayout\n

 
    
    
    
        
        
            
        
        
        
            
        
    

\n代码在\"setSupportActionBar(toolbar);\"处报错:\n\"md2\"\n(第一个问题) 这是什么问题? (已解决)\n(第二个问题)\n在我的布局中出现了\n

\n\"?attr/actionBarSize\"\"?attr/colorPrimary\"\n

\n我应该在哪里声明这些属性?\n(第三个问题)\n当我使用两个工具栏时,只显示其中一个,而我希望一个工具栏在另一个内部显示内容。\n\"md3\"\n我应该如何显示这两个工具栏?\n谢谢

0
0 Comments

(Material design toolbar on devices pre-lollipop)这个问题的出现的原因是,在旧版本的Android设备上,使用Material Design样式的Toolbar时,需要解决一些兼容性问题。其中两个主要问题是获取ActionBar的高度和设置自定义的背景颜色。

解决方法如下:

1. 获取ActionBar的高度:在运行时解析属性"actionBarSize"来获取ActionBar的实际高度。可以参考这个链接:Get ActionBar Size中的答案,来获取ActionBar的高度值。

2. 设置自定义的背景颜色:如果需要给Toolbar设置自定义的背景颜色,可以在布局文件中添加一个适当的颜色调色板,并在"android:background"属性中指定颜色值。同时,在"color.xml"文件中定义"colorPrimary"的值。可以使用Material Palette这个网站来获取不同的颜色值。

这些问题的解决方法可以确保在旧版本的Android设备上,使用Material Design样式的Toolbar时能够正确地显示和运行。

0
0 Comments

(Material design toolbar on devices pre-lollipop)这个问题的出现的原因是使用了错误的工具栏(toolbar)。问题的解决方法是更正导入错误的工具栏路径(android.widget)为正确的工具栏路径(android.support.v7.widget)。通过更正导入路径,问题应该能够解决。

以下是整理后的文章:

在使用Material设计的工具栏(toolbar)时,有时会遇到在旧版Android设备上无法正常使用的问题。这个问题的原因是使用了错误的工具栏路径(android.widget),而正确的工具栏路径应该是android.support.v7.widget。

解决这个问题的方法非常简单,只需要根据你的IDE给出的提示信息进行修改即可。你需要将导入的工具栏路径从android.widget修改为android.support.v7.widget。通过更正导入路径,你的代码应该能够正常工作了。

下面是一个示例代码,展示了如何使用正确的工具栏路径来解决这个问题:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
    private Toolbar toolbar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }
}

在上面的代码中,我们首先导入了正确的工具栏路径(android.support.v7.widget.Toolbar)。然后,在onCreate方法中,我们将正确的工具栏(toolbar)与当前的活动(Activity)关联起来。

通过按照上述方法进行修改,你应该能够解决在旧版Android设备上使用Material设计工具栏时遇到的问题。记得在修改代码之前仔细阅读你的IDE给出的提示信息,以确保导入的工具栏路径是正确的。

希望这篇文章能够帮助你解决问题,使你能够顺利使用Material设计工具栏。祝你编写代码愉快!

0