是否可以在PreferenceScreen?中创建个人偏好?
我想像这样编码颜色设置:

我知道选择颜色很容易实现ListPreference,但是那种"复选框"会很棒.
android preferenceactivity android-preferences android-layout
将新活动添加到我的项目后,我在编译布局时遇到以下错误
Gradle:解析XML时出错:格式不正确(无效令牌)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_password"
android:text="<password>"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
" http://schemas.android.com/apk/res/android "标记为红色,并在消息传出后悬停
URI未注册(设置|项目设置|架构和DTD)
我的设置>项目设置>模式和DTD如下所示:

我已经在这里找到了一些类似的问题,但没有任何帮助我解决这个问题.我希望有人有个主意...... :)
我想做的事:
我希望我的MainActivity的每个片段使用不同的主题,以便ActionBar具有不同的背景颜色,具体取决于可见的片段.
情况:
我创建了一个使用Tabs + Swipe Navigation的MainActivity.我添加了7个标签(= 7个片段).我创建了一个主题,应该只应用于第一个片段(fragment_main_1).
这里的主题:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Blue" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/Blue.ActionBarStyle</item>
</style>
<style name="Blue.ActionBarStyle" parent="android:Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/Blue.ActionBar.TitleTextStyle</item>
<item name="android:background">#33B5E5</item>
</style>
<style name="Blue.ActionBar.TitleTextStyle" parent="android:TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#FFFFFF</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
在创建了6个主题之后,应该可以在ActionBar自动更改其背景颜色的同时滑动选项卡.
什么行不通:
将这些行(我在stackoverflow上找到)添加到Fragment1.java:
// create ContextThemeWrapper from the original Activity Context with the custom theme
final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.Blue);
// clone the inflater using the ContextThemeWrapper
LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper);
// inflate the layout using the cloned inflater, not default inflater
return localInflater.inflate(R.layout.fragment_main_1,container, false);
Run Code Online (Sandbox Code Playgroud)
我希望你能帮帮我:)谢谢.
我想从styles.xml中添加一个样式
<style name="BlueActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">@color/blue</item>
<item name="android:textColor">#FFFFFF</item>
</style>
Run Code Online (Sandbox Code Playgroud)
到我的Actionbar,但只是在活动BlueActivity(它仍然是空白).怎么做?我卡住了:'(
编辑: 为什么要添加
android:actionBarStyle="@style/BlueActionBar"
Run Code Online (Sandbox Code Playgroud)
到Manifest中的BlueActivity无法正常工作?
android styles android-layout android-activity android-actionbar
在一个库项目中,我使用FileProvider并将我的库 applicationId 作为其权限。现在,当有人在他的应用程序的两种版本中使用这个库时,由于 FileProvider 冲突,第二个版本将无法安装。
目标
能够为应用程序的每个变体为我的库 FileProvider 定义唯一的权限。
第一种方法
我向权限附加了一个随机整数,效果很好。
构建.gradle
static def generateContentProviderAuthority() {
Random random = new Random()
return new StringBuilder()
.append("application.id.of.my.library")
.append(".fileprovider")
.append(String.valueOf(random.nextInt(100000)))
.toString()
}
defaultConfig {
...
manifestPlaceholders= [contentProviderAuthority: generateContentProviderAuthority()]
}
Run Code Online (Sandbox Code Playgroud)
显现
<provider
android:name=".helper.FileProvider"
android:authorities="${contentProviderAuthority}"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths"/>
</provider>
Run Code Online (Sandbox Code Playgroud)
但是现在清单更改了每个构建,这与即时运行和其他东西混在一起......
解决方案
是否可以在我的库 build.gradle 中获取使用该库的应用程序的确切 applicationId?
android android-manifest android-library android-fileprovider
我正在尝试在应用程序中使用Tabs + Swipe,并且想要使用导航类型"固定标签+滑动",ADT在创建活动时为我提供.
Sooo现在ADT吐出了很好的代码,我稍作修改......
我完全理解代码和正在发生的事情......但是我如何教App使用我的三个片段而不是愚蠢的Dummy Frag?:(
我找不到任何处理ADT"导航类型"的教程......
谢谢你的帮助!
public class MainActivity extends FragmentActivity implements ActionBar.TabListener {
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Set up the action bar.
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Create the adapter that will return a fragment for each of the three
// primary sections of the app.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
// When …Run Code Online (Sandbox Code Playgroud)