小编sno*_*yak的帖子

有什么办法可以让按钮上的图像自动调整大小以适应屏幕吗?

所以我有四个按钮,它们都使用match_parent来表示高度和宽度.我使用"drawableTop"属性在按钮本身内有图像,我想制作它,所以我不需要为每个分辨率单独的图像.这是我拍的肖像截图.景观将会有所改变.

按钮画像

所以这看起来很好,除了我只有4种不同的图像分辨率,并在我的手机上尝试它们没有产生积极的结果.有没有什么方法可以让我有一个更大的图像,比如只是"可绘制"并让它缩小以适应所有分辨率?如果没有,我该怎么办?我目前涵盖hdpi,ldpi,mdpi和xhdpi,但我想涵盖所有界限.还有哪些其他密度?

如果我可以实现自动调整大小,我也不必禁止用户使用Landscape:

按钮 - 风景

另外,这是xml:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:baselineAligned="false"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        tools:ignore="NestedWeights" >

        <Button
            android:id="@+id/bMap"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:drawableTop="@drawable/ic_camera"
            android:text="Button" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <Button
            android:id="@+id/bCamera"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:drawableTop="@drawable/ic_camera"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:baselineAligned="false"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        tools:ignore="NestedWeights" >

        <Button
            android:id="@+id/bGallery"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:drawableTop="@drawable/ic_camera"
            android:text="Button" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <Button
            android:id="@+id/bPlants"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:drawableTop="@drawable/ic_camera"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android button autoresize android-layout

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

BigInteger解析八进制字符串?

在Java中,我能做到

//Parsing Octal String
BigInteger b = new BigInteger("16304103460644701340432043410021040424210140423204",8);
Run Code Online (Sandbox Code Playgroud)

然后按照我的喜好格式化它

b.toString(2); //2 for binary
b.toString(10); //10 for decimal
b.toString(16); //16 for hexadecimal
Run Code Online (Sandbox Code Playgroud)

C#BigInteger提供了上面显示的格式化功能,但我似乎无法找到解析BIIIG(大于64位,无符号)八进制值的方法.

c# biginteger octal

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

"您的设备与此版本不兼容"

我在Play商店中放置了一个应用程序,我的朋友在两个设备上运行4.0.3,在尝试安装我的应用程序时收到以下消息:"您的设备与此版本不兼容".

一个设备允许它安装而另一个设备不允许.我允许API 3-15,两个设备都是4.0.3.有什么问题?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.snotyak.basicfuelcalcpro"
    android:versionCode="2"
    android:versionName="1.2.3" >
    <uses-sdk
        android:minSdkVersion="4" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:name=".CalcApp"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MainTheme" >
        <activity android:name=".CalcActivity" >
        </activity>
        <activity
            android:name=".PrefsActivity"
            android:label="@string/prefs_name" />
        <activity
            android:name=".CalcTabView"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".AboutActivity"></activity>
        <activity android:name=".HistoryActivity" />
        <activity android:name=".AnalysisActivity" />
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

android google-play

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

Tab Activity中的片段在旋转时丢失所有数据?

我正在使用Sherlock ActionBar库,我有一个SherlockFragmentActivity实现ActionBar.TabListener(对于我的标签),我有3个标签...每个都是SherlockFragment.当我旋转时,整个Activity被重新创建,我丢失了片段中我的onCreate中声明的所有变量.我该如何解决这个问题?

我想我应该使用片段作为标签而不是活动......这是错的吗?

编辑:我应该提到我目前的解决方法是在Tab活动中使用静态列表并将片段推送到onPause上的那些列表(并在onResume上从它们返回内容).我真的不喜欢这样做,我知道必须有更好的方法.

另外,关于if(savedInstanceState == null),我已经尝试过,它似乎不起作用.我认为这是因为正在重新创建包含我的片段的Activity,并且需要重新创建选项卡.

android android-fragments actionbarsherlock android-tabs

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

Visual Studio Tab括号/引号?

我主要是Java开发人员,最近我开始使用Visual Studio 2012为Windows应用商店开发应用程序.几年前我开始编写代码时,我使用的是Visual Studio 2008.在我开始做之前,我没有想到某些功能. Eclipse中的Java.无论如何,在Eclipse中,我可以按"tab"跳出引号或括号.Visual Studio 2012 Productivity Power Tools中包含了我可以远程查找的唯一Visual Studio 2012功能.它允许我在一行的任何地方进行Shift + Enter,它会在行的末尾添加一个分号并转到下一行.虽然这很有用,但在许多情况下并不理想.我也在使用Resharper并且在那里找不到这样的设置.谢谢

resharper visual-studio-2012

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

使用用户指定的计时器更新gui中的JPanel和属性?

所以我有这门课.我们称之为ProcessBox.我有另一个名为Process的类,它有一个ProcessBox作为成员变量.然后,在我的main方法中,我有一个Process对象的ArrayList(每个都有自己的ProcessBox).我将如何制作它以便我的ProcessBox每x ms更新一次(其中x是用户指定的.我已经有了输入x的监听器).下面是我的ProcessBox类.这是我希望每x毫秒重绘一次(除了它们的整个列表).

import java.awt.*;

import javax.swing.*;
import javax.swing.border.LineBorder;

import java.util.*;

public class ProcessBox extends JPanel {
    GridBagLayout gbc_panel;

    public ProcessBox(Process p) {
        super(new GridBagLayout());
        gbc_panel = new GridBagLayout();
        gbc_panel.columnWidths = new int[] { 0, 0, 0 };
        gbc_panel.rowHeights = new int[] { 0, 0, 0, 0, 0, 0 };
        gbc_panel.columnWeights = new double[] { 0, 0, Double.MIN_VALUE };
        gbc_panel.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0,
                Double.MIN_VALUE };
        super.setLayout(gbc_panel);


        setPreferredSize(new Dimension(110, 110));
        setMinimumSize(new Dimension(110, 110));
        setAlignmentX(Component.LEFT_ALIGNMENT);
        setBorder(new LineBorder(new …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing timer

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

循环中的javax.swing.JFrame setText()?+故意拖延?

我是Java的新手(仅使用它大约一周),我正在商店模拟器上工作.基本上我只是希望现在能够完成基本的事情,比如有一段时间直到关闭以及屏幕上显示打开变量的时间.

我在我的Simulation扩展javax.swing.JFrame类中做了以下函数:

public void incOpenTime() {
    timeOpen++;
    int hours = timeOpen / 3600;
    int minutes = (timeOpen % 3600) / 60;
    int seconds = (timeOpen % 3600) % 60;
    this.openTime.setText((hours < 10 ? "0" : "") + hours
            + ":" + (minutes < 10 ? "0" : "") + minutes
            + ":" + (seconds < 10 ? "0" : "") + seconds);
    decTimeLeft();
    }

public void decTimeLeft() {
    int remainingTime = 28800 - timeOpen;
    int hours = remainingTime / 3600; …
Run Code Online (Sandbox Code Playgroud)

java swing timer jframe event-dispatch-thread

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

每秒CPU指令

在我的学习指南中,我接受了这个问题,以便进行测试.我不明白如何解决这个问题.我的测试是今天,我将不胜感激.

如果CPU每条指令发出一个内存请求,并且计算机以200 MIPS运行,那么使400-MHZ总线饱和需要多少CPU?假设存储器参考需要一个总线周期.现在,对于使用缓存并且缓存具有90%命中率的系统重复此问题.最后,需要什么缓存命中率才能让32个CPU共享总线而不会超载?

hardware cpu bus

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

这个等式的大O?

 for (int j=0,k=0; j<n; j++)
   for (double m=1; m<n; m*=2)
      k++;
Run Code Online (Sandbox Code Playgroud)

我认为这是O(n ^ 2),但我不确定.我正在研究练习题,我有以下选择:

  • 为O(n ^ 2)
  • O(2 ^ n)的
  • 上!)
  • O(n log(n))

complexity-theory big-o nested-loops

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

我应该将哪个LayoutManager用于Java GUI?

我想创建一个GUI并通过代码执行它,而不是像Netbeans一样拖动所有内容.如果可能的话,我想设置我要插入的每个东西的坐标,因为它将为我提供我想要的精度.我已经尝试了GridBagLayout,并没有发现它是我喜欢的,但也许我不知道它知道该怎么做.也许MigLayout对我来说是一个不错的选择,但我想知道我需要什么更好的东西.

总结:我想制作一个GUI,我可以直接添加每个对象的特定坐标.我使用哪种布局?

java swing layout-manager

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

LINQ - 在对象列表中获取特定类型的所有成员

我有一个持有a Color和字符串的类:

 public class Magic{
   public string Name {get; set;}
   public Color MyColor {get; set;}
 }
Run Code Online (Sandbox Code Playgroud)

我有一个列表:

List<Magic> MyList = new List<Magic>();
Run Code Online (Sandbox Code Playgroud)

我不是太有经验丰富的LINQ,我想知道如何让所有Color的对象List到一个新的List刚刚的Color小号

c# linq

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

JTextField只接受有效的无符号短裤?(使用KeyAdapter)

下面是KeyAdapter我试图只接受小于65535的值.看起来好像它实际应该在它后面的一个击键.例如,如果我输入"55",System.out.println将产生"5",执行"3298"将产生"329"等.

// Allows for unsigned short values only
KeyAdapter unsignedShortAdapter = new KeyAdapter() {

    public void keyTyped(KeyEvent e) {
        char c = e.getKeyChar();
        int tempInt = 0;
        JTextField temp = null;

        if (!((Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)))) {
            getToolkit().beep();
            e.consume();
        }
        try {
            temp = (JTextField) e.getSource();
            System.out.println(temp.getText());
            tempInt = (Integer.parseInt(temp.getText().toString()));
        } catch (NumberFormatException e1) {

        } finally {
            if (tempInt > (Short.MAX_VALUE * 2)) {
                 getToolkit().beep();
                 e.consume();
                temp.setText(temp.getText().substring(0, temp.getText().length() - 1));

                invalidate();
            }

        }
    } …
Run Code Online (Sandbox Code Playgroud)

java swing short adapter jtextfield

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