根据这里的问题,
'tools'命名空间引用(xmlns:tools ="http://schemas.android.com/tools")最近已经开始出现在我的布局中,我想知道更多.原帖只描述了'tools:context'属性,但我也注意到当我为listview指定预览布局项时出现的"tools:listitem"属性的使用,即
<ListView
android:id="@+id/lvCustomer"
tools:listitem="@layout/customer_list_item" >
</ListView>
Run Code Online (Sandbox Code Playgroud)
还有更多元素吗?
是什么让我进入这个'工具'命名空间是因为我希望在eclipse中使用布局设计器时能够拥有'仅预览'文本(即在TextView或EditText中).
目前,我在安排布局时指定'text'或'hint'属性来预览文本...但是我总是要记住从代码中清除预览值.
理想情况下,而不是
<string name="preview_customer_name">Billy Bob's Roadhouse Pub</string>
...
<TextView
android:id="@+id/tvCustomerName"
android:text="@string/preview_customer_name"
</TextView>
Run Code Online (Sandbox Code Playgroud)
有类似的东西:
<TextView
android:id="@+id/tvCustomerName"
tools:previewText="@string/preview_customer_name"
</TextView>
Run Code Online (Sandbox Code Playgroud)
谢谢-
例如,在:
<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="match_parent" >
...
Run Code Online (Sandbox Code Playgroud)
我需要把它吗?
我使用ADT Eclipse基于主/详细流模板启动了一个新的Android应用程序.此模板创建两个活动,主片段和细节片段,以适应较小和较大的屏幕.
我注意到该activity_item_list.xml文件具有以下tools:layout属性:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item_list"
android:name="com.example.fragmenttwopanel.ItemListFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
tools:context=".ItemListActivity"
tools:layout="@android:layout/list_content" />
Run Code Online (Sandbox Code Playgroud)
我试图删除属性,应用程序以相同的方式运行,但在ADT的图形布局选项卡中,一条消息要求我:
从"片段布局"上下文菜单中选择预览布局
它的目的是什么?它只是用于图形布局的预览吗?
我试图使用自定义样式的Android 21中的工具栏小部件,但我无法摆脱这个错误:
Failed to find style 'toolbarStyle' in current theme.
这是我的布局xml文件:
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/patient_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:theme="@style/AppTheme.Patient" />
Run Code Online (Sandbox Code Playgroud)
这是患者主题:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
</style>
<style name="AppTheme.Patient" parent="AppTheme">
<item name="colorPrimary">@color/patient_primary</item>
<item name="colorPrimaryDark">@color/patient_primary_dark</item>
<item name="colorAccent">@color/patient_accent</item>
<item name="toolbarStyle"></item> <!-- what values to put here -->
</style>
Run Code Online (Sandbox Code Playgroud)
我也尝试toolbarStyle在我的主题中添加项目,但我不知道可能的值.我错过了什么吗?
我有兴趣尝试Android Studio中显示的导航图.但是在导入谷歌样本后,我的预览无法使用
我使用的是Android Studio 3.2 Preview Canary 16
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:startDestination="@+id/launcher_home">
<fragment
android:id="@+id/launcher_home"
android:name="com.android.samples.arch.componentsbasicsample.StartFragment"
android:label="Home">
<action
android:id="@+id/end_action"
app:destination="@id/end_dest" />
</fragment>
<fragment
android:id="@+id/end_dest"
android:name="com.android.samples.arch.componentsbasicsample.EndFragment"
android:label="End"
>
</fragment>
</navigation>
Run Code Online (Sandbox Code Playgroud)
18/6/2018更新:
即使我重建项目它也不起作用.但是如果添加新屏幕,则会在预览模式下显示新屏幕
android android-architecture-components android-studio-3.2 android-architecture-navigation
我正在尝试在片段上应用特定主题.但出于某种原因,它并没有发生.任何人都可以指出我的代码中的错误吗?或更好的解决方案
styles.xml中的主题:
<!-- Theme for trans actionbar -->
<style name="TransTheme" parent="@style/AppTheme">
<item name="android:actionBarStyle">@style/TransActionbar</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="actionBarStyle">@style/TransActionbar</item>
<item name="windowActionBarOverlay">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在哪里@style/TransActionbar:
<!-- Actionbar style for trans theme -->
<style name="TransActionbar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/first_trans_actionbar</item>
<item name="background">@color/first_trans_actionbar</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我想如何在onCreateView()方法中的片段中应用主题:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//set theme
final Context contextWrapper = new ContextThemeWrapper(getActivity(), R.style.TransTheme);
LayoutInflater localInflater = inflater.cloneInContext(contextWrapper);
contentView = localInflater.inflate(R.layout.fragment_movie_detail,
container, false);
return contentView:
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,Fragment保留了旧主题..
编辑
所以基本上问题归结为:如何在一个活动的一个片段中使Actionbar透明(和叠加模式)?
ADT现在生成具有以下属性的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"
tools:context="${packageName}.${activityClass}" >
Run Code Online (Sandbox Code Playgroud)
设计工具如何知道它属于哪个类?
我正在学习android并想知道为什么我tools:context在布局XML文件中找不到属性的真正目的.
我在这里阅读https://developer.android.com/studio/write/tool-attributes.html#toolscontext在onClick我们指定之前不适用于任何视图的图像下tools:context.
我试过并想知道它没有任何工作tools:context
我也从stackoverflow读取它用于为布局选择适当的主题.但它没有使用它对我来说工作正常,这是tools:context什么的真正目的?
XML布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="CallIt"
/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
主要活动:
package com.something.testingwith42;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void CallIt(View view){
Toast.makeText(this, "Checking", Toast.LENGTH_LONG).show();
}
}
Run Code Online (Sandbox Code Playgroud)
没有,一切都很好 tools:context
主题下拉旁边有一个下拉菜单; 其悬停文本显示"相关活动或片段提供上下文".
在图形布局编辑器文档中未描述(或显示)此(新)窗口小部件.
我假设这是一个通常显示此视图的活动或片段.但是布局编辑器对这些信息做了什么?它可以以某种方式用于预览动作栏自定义吗?

android ×8
xml ×3
adt ×2
android-architecture-components ×1
android-architecture-navigation ×1
android-xml ×1
layout ×1
namespaces ×1
preview ×1
textview ×1