小编hwr*_*kns的帖子

谷歌是如何做到这一点的?在Android应用程序中滑动ActionBar

我真的想在我自己的应用程序中实现这个(侧面导航),有谁知道Google如何设法做到这一点?

他们似乎已将当前窗口拉到一边并进入他们自己的飞入导航.

android android-widget android-layout android-actionbar android-side-navigation

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

在提交FragmentTransaction之前检查状态是否已保存

我有时会看到以下用于提交的堆栈跟踪,当用户没有查看活动时(状态保存后)可能会发生这种情况:

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
    at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1327)
    at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1338)
    at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
    at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
Run Code Online (Sandbox Code Playgroud)

看看Android源代码,这很有意义:

private void checkStateLoss() {
        if (mStateSaved) {
            throw new IllegalStateException(
                    "Can not perform this action after onSaveInstanceState");
        }
        if (mNoTransactionsBecause != null) {
            throw new IllegalStateException(
                    "Can not perform this action inside of " + mNoTransactionsBecause);
        }
 }
Run Code Online (Sandbox Code Playgroud)

现在,我想知道是否有任何方法(除了在(保存/恢复)InstanceState中存储类变量)以检查片段是否将以不合需要的状态提交,这样我可以存储事务以供日后使用在适当的时候提交.

android android-fragments fragmentmanager android-savedstate onsaveinstancestate

41
推荐指数
3
解决办法
2万
查看次数

将GeoPoint转换为位置

我知道这是一个非常无聊的问题 - 但是在Android平台上将GeoPointa 转换为a 的最佳方式是什么Location.

android google-maps geolocation

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

"编辑文本"框中提示的自定义位置.

我想知道是否有任何方法可以在"编辑文本"视图的底部获得提示 - 然后用户开始在框顶部输入文本.

作为一个额外的问题,有什么方法可以让提示不会在用户开始输入文本后消失.

user-interface android android-widget

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

在Android中完成操作后返回活动状态?

当我使用以下方法启动SMS应用程序时 - 一切正常,直到发送消息的那一刻.当我发送消息时 - 除非我按下后退按钮,否则它永远不会导航回原始活动.如何启动SMS活动,然后在发送消息后再次显示父活动?

这就是我将SMS应用程序称为结果的方式.

String message = getMessageString();
    Intent sendIntent = new Intent(Intent.ACTION_SENDTO);
    sendIntent.setData(Uri.parse("sms:" + number));
    sendIntent.putExtra("sms_body", message);
    startActivityForResult(sendIntent, INVITE_COMPLETED);
Run Code Online (Sandbox Code Playgroud)

sms android

14
推荐指数
1
解决办法
5972
查看次数

如何在UIMarkupTextPrintFormatter中添加图像?

我正在尝试使用直接HTML打印文件,但是,我在将图像添加到打印文件时遇到了困难.

如何在我要打印的HTML中引用项目中的图像?UIMarkupTextPrintFormatter是否支持标记?

cocoa-touch objective-c ios airprint

12
推荐指数
2
解决办法
2680
查看次数

从Android中的URI检索联系电话号码

在我从内置活动中检索到他们的ID号码后,我正在尝试获取联系人的电话号码.但是,每当我在下面的代码中使用光标查询数据库时 - 即使有我选择的联系人的手机号码,我也会返回零行.

任何人都可以指出我更好的方向或显示如何获取联系人的电话号码获得他们的用户ID后的一个例子?

我的代码:

    private Runnable getSMSRunnable() {
    return new Runnable() {
    public void run() {
    Intent i = new Intent(Intent.ACTION_PICK,
      ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
    startActivityForResult(i, CONTACTS_REQUEST_CODE);
   }
  };
 }
Run Code Online (Sandbox Code Playgroud)

返回Log输出

content://com.android.contacts/data/6802
Run Code Online (Sandbox Code Playgroud)

从中我将ID(6802)传递给一个方法,该方法旨在从具有给定类型的ID返回电话号码(在本例中为ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)

public static String getContactPhoneNumberByPhoneType(Context context, long contactId, int type) {
    String phoneNumber = null;

    String[] whereArgs = new String[] { String.valueOf(contactId), String.valueOf(type) };

    Log.d(TAG, String.valueOf(contactId));

    Cursor cursor = context.getContentResolver().query(
            ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
            null,
            ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ? and "
                    + ContactsContract.CommonDataKinds.Phone.TYPE + " = ?", whereArgs, null);

    int phoneNumberIndex = …
Run Code Online (Sandbox Code Playgroud)

android contactscontract

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

从命令行编辑Rails模型

我是Ruby on Rails的新手,我想知道是否有一种方法可以编辑模型的数据库模式.

例如,我在我的应用程序中有Subscriber模型 - 我创建它的方式是使用 rails generate scaffold Subscriber email:string

但现在,我也想在订阅者模型中使用一个名称.有没有简单的方法来做到这一点?我在我当前的控制器和视图中放了很多代码,所以我不一定要破坏脚手架,但我想编辑模型.

提前致谢,

hwrd

PS我正在使用Ruby on Rails 3

ruby-on-rails data-modeling scaffolding ruby-on-rails-3

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

弄清楚状态栏是在顶部还是底部?

我试图弄清楚如何分辨状态栏的位置(顶部或底部).我试图检查,HierarchyViewer但没有看到状态栏视图.

实际上我需要弄清楚的是,给定一个上下文,一种返回a的方法boolean(如果条形图在顶部则为true,如果不在条形区域则为false - 就像它不在大多数平板电脑上一样).我写了一个简单的解决方案,试图找出状态栏位于顶部或底部,但它似乎没有帮助:

private boolean isStatusBarAtTop(){
    if (!(getContext() instanceof Activity)) {
        return !getContext().getResources().getBoolean(R.bool.isTablet);
    }

    Window window =  ((Activity) getContext()).getWindow();

    if(window == null) {
        return !getContext().getResources().getBoolean(R.bool.isTablet);
    }

    Activity activity = (Activity)getContext();
    Rect rect = new Rect();

    window.getDecorView().getWindowVisibleDisplayFrame(rect);
    View ourView = window.findViewById(Window.ID_ANDROID_CONTENT);

    Log.d("Menu","Window Top: "+ ourView.getTop() + ", "+ourView.getBottom()+ ", "+ourView.getLeft()+", "+ourView.getRight());
    Log.d("Menu","Decor View Dimensions"+rect.flattenToString());

    return  ourView.getTop() != 0;
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我得到以下输出(在Nexus 7平板电脑上运行):

D/Menu(1007): Window Top: 0, 0, 0, 0
D/Menu(1007): Decor View Dimensions0 0 800 …
Run Code Online (Sandbox Code Playgroud)

android

8
推荐指数
2
解决办法
3319
查看次数

自定义标题栏,包含Android的进展

我想知道是否有任何方法可以使用我自己的drawable提供自定义标题 - 然后在标题布局中放置一个进度条,以便它像内置的android进度条一样.

在我的代码中 - 我希望能够调用setProgressBarIndeterminateVisibility(true)并在我的自定义标题栏中显示进度条.

这可能吗?

我已经设置了我的应用程序主题,以便它使用自定义标题 - 但我不知道如何或在何处将进度条放在该布局中.

提前致谢.

编辑:现在我使用我自己的主题看起来像这样:

<style parent="android:Theme.Light.NoTitleBar" name="BaseTheme">
    <item name="android:windowBackground">@drawable/splash_bg</item>
    <item name="android:windowTitleStyle">@style/TitleBackground</item>
</style>
Run Code Online (Sandbox Code Playgroud)

标题背景样式为:

<style name="TitleBackground" parent="android:WindowTitleBackground">
    <item name="android:background">@drawable/title_bar</item>
</style>
Run Code Online (Sandbox Code Playgroud)

给每个人一个更好的主意 - 这样的事情. 替代文字

user-interface android

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