小编Jon*_*nas的帖子

Android:创建自定义首选项

是否可以在PreferenceScreen?中创建个人偏好?

我想像这样编码颜色设置:

颜色偏好

我知道选择颜色很容易实现ListPreference,但是那种"复选框"会很棒.

android preferenceactivity android-preferences android-layout

47
推荐指数
4
解决办法
6万
查看次数

Android Studio:未注册解析XML和URI时出错

将新活动添加到我的项目后,我在编译布局时遇到以下错误

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如下所示: 设置>项目设置>架构和DTD

我已经在这里找到了一些类似的问题,但没有任何帮助我解决这个问题.我希望有人有个主意...... :)

xml layout android intellij-idea android-studio

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

Android:将不同的主题应用于一个活动的片段

我想做的事:

我希望我的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)

我希望你能帮帮我:)谢谢.

android android-layout

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

Android:在一个活动上为操作栏添加样式

我想从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

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

android库项目中的FileProvider权限

在一个库项目中,我使用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

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

Android:"导航类型:固定标签+滑动"

我正在尝试在应用程序中使用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)

tabs android android-layout

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