小编Lac*_*ook的帖子

Activity和FragmentActivity之间的区别

我正在处理碎片并遇到两件事情Activity,FragmentActivity并且已经使用了好几次.我想知道这两者之间有什么区别,因为当我改变ActivityFragmentActivity,它对应用程序没有任何影响.

android android-fragments android-fragmentactivity android-support-library

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

Android - 片段事务上的自定义动画未运行

我正在使用支持包v4的Google API 8(Android 2.2).

它不会给出任何错误或动画.

交易:

FragmentTransaction transaction = manager.beginTransaction();       
transaction.replace(R.id.content, myFragment);
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

动画:

slide_in_left.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="700"
        android:fromXDelta="-100%"
        android:toXDelta="0%" >
    </translate>
</set>
Run Code Online (Sandbox Code Playgroud)

slide_out_right.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="700"
        android:fromXDelta="0%"
        android:toXDelta="100%" >
    </translate>
</set>
Run Code Online (Sandbox Code Playgroud)

有谁知道这里发生了什么?

android android-animation android-fragments

78
推荐指数
3
解决办法
5万
查看次数

Android操作栏菜单项,actionLayout无法正常工作

嗨,我正在开发一个Android应用程序.在我的应用程序中,我正在使用Sherlock动作.我在动作栏中定义了几个菜单项,如下所示

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/card_menu"
        android:actionLayout="@layout/action_button"
        android:showAsAction="always"
        android:title="cards">
        <menu>
            <item
                android:id="@+id/C1"
                android:title="C1"/>
            <item
                android:id="@+id/C2"
                android:title="c2"/>
            <item
                android:id="@+id/C3"
                android:title="C3"/>
        </menu>
    </item>
    <item
        android:id="@+id/notification"
        android:actionLayout="@layout/notification_icon"
        android:icon="@drawable/notification"
        android:showAsAction="always"
        android:title="Notifications"/>

    <item
        android:id="@+id/filter"
        android:icon="@drawable/filter"
        android:showAsAction="always"
        android:title="Filter"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

和我的action_button看起来像:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/menu_img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/spinner_ab_focused_maroon"/>
    <TextView
        android:id="@+id/menu_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/imageView0"
        android:text="C1"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

现在一切都显示出来但我的问题是当我点击card_menu item我定义子菜单的位置并定义动作布局时.它没有显示那些子菜单.我的其他菜单项工作正常.只有当我为包含子菜单的项目定义动作布局时,我才能显示子菜单.如果我删除动作布局,它工作正常.

我知道如果我们为item定义动作布局,那么我们必须手动处理click侦听器.我是按照以下方式做到的

final MenuItem item = menu.findItem(R.id.card_menu);
        item.getActionView().setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                onOptionsItemSelected(item);
                Toast.makeText(getActivity(), "click on menu", Toast.LENGTH_SHORT).show();
            }
        });
Run Code Online (Sandbox Code Playgroud)

我能够处理该项目的单击事件,但无法显示下拉子菜单项. …

android menu submenu android-actionbar drop-down-menu

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

设置工具栏标题

我试图设置我的工具栏标题:

public class StatisticsPage extends Fragment  {

    public StatisticsPage(){}
    private FragmentTabHost mTabHost;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.statistics_pagelayout, container, false);

        Spinner spinner = (Spinner) rootView.findViewById(R.id.statsSpin);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(),
                R.array.statspage, R.layout.dropdown_item);
        spinner.setAdapter(adapter);
        getSupportActionBar().setTitle("My title");

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {

                switch (position) {
                    case 0:
                        break;
                    case 1:
                        // do whatever stuff you wanna do here
                        Fragment Fragment_one;
                        FragmentManager man= getActivity().getSupportFragmentManager();
                        FragmentTransaction tran …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-toolbar

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

所有Android设备都有"选项"和"后退"按钮吗?

所有Android设备都有"选项"和"后退"按钮吗?或者我的设计应该有"后退"和"选项"按钮,以使其更加通用?

android button

13
推荐指数
1
解决办法
7187
查看次数

ActionBarActivity后退按钮不会从后台弹出

我正在使用这个模板https://github.com/kanytu/android-material-drawer-template只是为了尝试material design所以我实现了一些片段,有些网页视图有些没有.

我的问题是在片段之间切换时我可以看到它们被成功添加到后台堆栈中

getFragmentManager().beginTransaction().replace(R.id.container, new FAQ()).addToBackStack("FAQ").commit();
Run Code Online (Sandbox Code Playgroud)

但是当我按下后退按钮时,它就会关闭应用程序.

当我改为使用Activity而不是ActionBarActivity导航工作正常,但我失去了一些其他功能.

后退按钮上有一个覆盖

@Override
public void onBackPressed() {
   if (mNavigationDrawerFragment.isDrawerOpen())
       mNavigationDrawerFragment.closeDrawer();
   else
       super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)

但即使被删除它仍然会发生.我认为这个问题存在于某个方面super.onBackPressed

有什么理由ActionBarActivity可以打破后退按钮吗?

android android-fragments android-actionbaractivity android-5.0-lollipop

13
推荐指数
1
解决办法
3201
查看次数

Linux容器与JVM

在docker之上运行的容器和在JVM之上运行的自包含Java程序之间的最大区别是什么?

我假设两者都直接在没有底层可视化的物理Linux服务器上运行.

docker linux-containers

13
推荐指数
1
解决办法
6722
查看次数

在WebView中显示数字键盘

我有一个webview,我在登录屏幕上手动显示键盘并专注于输入字段.

领域:

<input type="password" maxlength="4" pattern="[0-9]*" id="pin">
Run Code Online (Sandbox Code Playgroud)

聚焦和显示键盘:

webView.requestFocus(View.FOCUS_DOWN);
webView.loadUrl("javascript:document.getElementById('pin').focus();");
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(webView, InputMethodManager.SHOW_IMPLICIT);
Run Code Online (Sandbox Code Playgroud)

登录屏幕仅包含PIN样式代码字段,用户将在其中输入4位数字.问题是,默认情况下,它显示常规的alpha键盘,我希望它显示数字键盘.我已经看到很多使用EditText属性来控制键盘类型的例子

InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
EditText.setInputType(InputType.TYPE_CLASS_PHONE); [select Input type as according to ur requirement]
mgr.showSoftInput(EditText, InputMethodManager.SHOW_IMPLICIT);
Run Code Online (Sandbox Code Playgroud)

但是有可能告诉键盘本身在WebView上显示什么类型或设置属性?

android android-webview android-softkeyboard

6
推荐指数
1
解决办法
3446
查看次数

具有固定后缀的Android EditText

我需要一个带有固定后缀的EditText.我正在使用TextWatcher捕获onTextChanged事件,但是如果我通过添加后缀再次更改Text,则会导致由无限递归引起的stackoverflow异常.


 msgtextview.addTextChangedListener(new TextWatcher() {
        public void afterTextChanged(Editable s) {

               //Doing some other stuff

               msgtextview.setText("Changed Text") //This cause infinite recursion

            }               
        }
Run Code Online (Sandbox Code Playgroud)

这是代码.

android android-edittext

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

键盘打开时WebView不滚动

我有一个包含输入表单的WebView。当用户选择第一个输入时,将出现键盘,并将滚动WebView以便隐藏输入。我的问题是在<API 19中,当点击WebView不会滚动的下一个部分模糊的输入时。如果要关闭键盘,然后选择输入,它将可以正确滚动。

我已经阅读了很多有关“活动”是否为“全屏”的信息,但它无法正常工作,但我的应用程序却无法正常工作。

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.app.MyApp">

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:name=".App"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name="com.app.MyApp.MainActivity"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustResize|stateVisible">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

WebView布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:animateLayoutChanges="true"
    android:orientation="vertical">

    <WebView
        android:id="@+id/banking_webview"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

    <LinearLayout
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/BannerOrange"
        android:clickable="true"
        android:orientation="horizontal"
        android:padding="2dp"
        android:visibility="gone">

        <ImageView
            android:id="@+id/banner_image"
            android:layout_width="64dp"
            android:layout_height="@dimen/single_line_height"
            android:scaleType="fitCenter"/>

        <TextView
            android:id="@+id/banner_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="@dimen/typography_subhead"/> …
Run Code Online (Sandbox Code Playgroud)

android android-webview android-softkeyboard

5
推荐指数
2
解决办法
5554
查看次数

片段中的OnPostCreate

TextWatcher在的“活动”中使用,onPostCreate但现在我将其变成了片段。

片段中的等效内容是什么?

  @Override
protected void onPostCreate(Bundle savedInstanceState) {
    mSearchView.addTextChangedListener(filterTextWatcher);
    super.onPostCreate(savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)

android android-fragments

2
推荐指数
1
解决办法
5310
查看次数

片段之间的Android导航

我的表格分成几个片段.我用每个片段调用:

final FragmentManager fm = getSupportFragmentManager();
final FragmentTransaction ft = fm.beginTransaction();
if(fragment.equals(this.formOne) ||   fragment.equals(this.formTwo)) {
        ft.setCustomAnimations(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
    }

ft.replace(R.id.fragForm, fragment);
ft.addToBackStack(null);
ft.commit();
Run Code Online (Sandbox Code Playgroud)

当我单击后退按钮时,它会跳过上一个片段并返回到活动但屏幕为空白.

例如,我有3个片段:A - B - C.

如果我去C并希望回到上一个活动,我点击后退按钮,我就在B上,我再次点击,我在A上,当我再次点击时,我有一个空白屏幕,我需要再次单击以返回上一个活动.

我不明白为什么我的活动上有这个空白屏幕.

我在开发者文档中不明白这一点:

注意:当事务用于水平导航(例如切换选项卡时)或修改内容外观(例如调整过滤器时)时,不应将事务添加到后台堆栈.有关何时适合返回导航的详细信息,请参阅导航设计指南.

如果我们不能使用它,那么解决方案是什么?

android android-fragments android-activity

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