- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要用自己的自定义工具栏替换普通的工具栏
。我使用以下代码,但没有显示任何内容:
我的MainActivity
:
public class MainActivity extends AppCompatActivity {
private Toolbar mToolbar;
private View mView;
private TabLayout mTabLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
mView =
LayoutInflater.from(this).inflate(R.layout.item_toolbar_main, null);
mToolbar.addView(mView);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
setupViewPager(viewPager);
mTabLayout = (TabLayout) findViewById(R.id.tabs);
mTabLayout.setupWithViewPager(viewPager);
View view1 = View.inflate(this, R.layout.item_tablayout_item,
null);
view1.findViewById(R.id.icon).setBackgroundResource(R.drawable.ic_solved);
View view2 = View.inflate(this, R.layout.item_tablayout_item,
null);
view2.findViewById(R.id.icon).setBackgroundResource(R.drawable.ic_unsolved)
;
try {
mTabLayout.getTabAt(0).setCustomView(mView);
mTabLayout.getTabAt(1).setCustomView(mView);
} catch (Exception ex) {
//Add crashlitics;
}
} }
我的 MainActivity
的 XML
:
<android.support.design.widget.CoordinatorLayout
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"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.divofmod.quizerfield.Activities.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
android:paddingBottom="@dimen/activity_margin_quarter"
android:paddingLeft="@dimen/activity_margin_half"
android:paddingRight="@dimen/activity_margin_half"
app:contentInsetEnd="@dimen/activity_margin_zero"
app:contentInsetLeft="@dimen/activity_margin_zero"
app:contentInsetRight="@dimen/activity_margin_zero"
app:contentInsetStart="@dimen/activity_margin_zero"
app:layout_scrollFlags="scroll|enterAlways"/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
我的工具栏
项目的XML
:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
>
<ImageView
android:id="@+id/logoQuizer"
android:layout_width="match_parent"
android:layout_height="@dimen/image_medium"
android:layout_marginBottom="@dimen/activity_margin_half"
android:layout_marginTop="@dimen/activity_margin_half"
android:foregroundGravity="center_vertical"
android:src="@drawable/logo_quizer"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/logoQuizer"
android:orientation="horizontal">
<ImageView
android:id="@+id/send"
android:layout_width="@dimen/icon_small"
android:layout_height="@dimen/icon_small"
android:layout_alignParentLeft="true"
android:layout_centerHorizontal="true"
android:layout_marginLeft="@dimen/activity_margin_half"
android:src="@drawable/ic_send"/>
<ImageView
android:id="@+id/sort"
android:layout_width="@dimen/icon_small"
android:layout_height="@dimen/icon_small"
android:layout_centerHorizontal="true"
android:layout_marginLeft="@dimen/activity_margin_quarter"
android:layout_marginRight="@dimen/activity_margin_half"
android:layout_toLeftOf="@+id/refresh"
android:src="@drawable/ic_sort"/>
<ImageView
android:id="@+id/refresh"
android:layout_width="@dimen/icon_small"
android:layout_height="@dimen/icon_small"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_marginLeft="@dimen/activity_margin_quarter"
android:layout_marginRight="@dimen/activity_margin_half"
android:src="@drawable/ic_refresh"/>
</RelativeLayout>
</RelativeLayout>
我的应用程序主题
:
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
最佳答案
最简单的方法是采用整个布局 item_toolbar_main
并将其设置为 Toolbar
直接在 xml 中而不使用任何 Java
代码。所以改变 Toolbar
在布局中查看 activity_main.xml
像这样的事情:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
android:paddingBottom="@dimen/activity_margin_quarter"
android:paddingLeft="@dimen/activity_margin_half"
android:paddingRight="@dimen/activity_margin_half"
app:contentInsetEnd="@dimen/activity_margin_zero"
app:contentInsetLeft="@dimen/activity_margin_zero"
app:contentInsetRight="@dimen/activity_margin_zero"
app:contentInsetStart="@dimen/activity_margin_zero"
app:layout_scrollFlags="scroll|enterAlways">
<include layout="@layout/item_toolbar_main"/>
</android.support.v7.widget.Toolbar>
这会起作用。我用过<include>
但您也可以复制并粘贴整个 View
从布局item_toolbar_main
到 android.support.v7.widget.Toolbar
的内部而不是<include layout="@layout/item_toolbar_main">
.
关于java - 工具栏 addView 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46844355/
我需要在一个循环中添加很多 View ,而这个 fragment 就是这样做的,应用程序还将有一个抽屉导航和操作栏,用户可以在其中执行操作。 所以我希望这个过程不会 a) 通过阻止用户来减慢应用程序,
以下是我的代码。我正在尝试向我已经创建的 LinearLayout *activity_dynamic* 添加一个 View public void onClick(View v) {
我是 android 应用程序开发的新手,我遇到了一个问题: 当按下我的 DrawerLayout 上的按钮时,我正在向我的主 LinearLayout 添加内容: private void swit
我正在尝试将 TextView 动态添加到线性布局,假设 TextView 是 boo,线性布局是 foo。 TextView boo = new TextView(this) LinearLayou
在 Android 中,当我将像 ImageView 这样的 View 对象添加到 FrameLayout View ,然后立即尝试调用 layout() 方法来重新定位添加的 View 对象时,它不
尝试通过添加新 Activity 和移动到该 Activity 的按钮来编辑 Android 教程应用程序,但在按下“发送”按钮后,我不断收到运行时异常错误(应用程序崩溃)。研究过许多类似的问题,但对
这是 LinearLayout 中的标准 addView。 table.addView(child); 但我需要用这种方式在我的布局中添加 View 请问有可能吗??! 最佳答
我需要用自己的自定义工具栏替换普通的工具栏。我使用以下代码,但没有显示任何内容: 我的MainActivity: public class MainActivity extends AppCo
我尝试在 FrameLayout fragment 中查看相机。但是,我得到了 java.lang.NullPointerException。这是 fragment 代码: public class
我最近开始为 android 开发,但在尝试向布局添加多个 View 时遇到了困难。它实际上适用于第一次触摸,但之后它什么都不做。日志虽然继续工作并显示已检测到触摸并显示事件的位置。我有以下代码 pu
正如您在图片中看到的,我可以选择 View 并使用“_root.addView(dragIcon);”添加 3 个 ImageView。 我的问题是 View 是一个简单 View 而不是 ViewG
我需要有关 ViewFlipper 的简单实现方面的帮助。当我在 Activity 的 onCreate 中膨胀 subview “ws.addView(childView)”时,脚蹼工作得很好。 当
我正在尝试使用 Framework7 作为我的 UI 创建一个 Cordova 应用程序。我正在尝试使用内联页面作为布局架构,但在设置我的项目时,我在控制台中收到以下错误: 未捕获的类型错误:myAp
我想通过 layoutInflater 将一个布局放入另一个布局。 这是 main_layout.xml 文件: 这是 vitrin_layout.xml 文件: 最后是我主
这是我的 MainActivity XML 文件: 这是 .java 文件: @Override protected void onCreate(Bundle savedInstanceSt
当我尝试运行以下代码时出现错误。模拟器给我这个错误信息,然后应用程序强制关闭:应用程序意外停止。 出了什么问题? import edu.chl.dat255.bluebanana.R; import
我对 ViewGroup.addView() 方法有疑问。我使用此代码向我的布局添加新 View : TalbeLayout parent = (TableLayout)findViewById(R.
我想制作一个 ScrollView 中的项目列表。所以我将 LinearLayout 放在 Scrollview 中。linearLayout 中已经有一个项目:添加项目的 View 。我希望该项目始
我在使用 LinearLayout 的 addView 方法时遇到问题。我不知道为什么,但如果我添加三个 View ,则只显示第一个。这是代码: Comment[] comments = posts[
我无法理解 ViewGroup 的 addView(View child, int index) 中 index 的功能。index 有什么用? index 可以是负值吗?它会影响 layout 或显
我是一名优秀的程序员,十分优秀!