所以我有四个按钮,它们都使用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)
在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位,无符号)八进制值的方法.
我在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) 我正在使用Sherlock ActionBar库,我有一个SherlockFragmentActivity实现ActionBar.TabListener(对于我的标签),我有3个标签...每个都是SherlockFragment.当我旋转时,整个Activity被重新创建,我丢失了片段中我的onCreate中声明的所有变量.我该如何解决这个问题?
我想我应该使用片段作为标签而不是活动......这是错的吗?
编辑:我应该提到我目前的解决方法是在Tab活动中使用静态列表并将片段推送到onPause上的那些列表(并在onResume上从它们返回内容).我真的不喜欢这样做,我知道必须有更好的方法.
另外,关于if(savedInstanceState == null),我已经尝试过,它似乎不起作用.我认为这是因为正在重新创建包含我的片段的Activity,并且需要重新创建选项卡.
我主要是Java开发人员,最近我开始使用Visual Studio 2012为Windows应用商店开发应用程序.几年前我开始编写代码时,我使用的是Visual Studio 2008.在我开始做之前,我没有想到某些功能. Eclipse中的Java.无论如何,在Eclipse中,我可以按"tab"跳出引号或括号.Visual Studio 2012 Productivity Power Tools中包含了我可以远程查找的唯一Visual Studio 2012功能.它允许我在一行的任何地方进行Shift + Enter,它会在行的末尾添加一个分号并转到下一行.虽然这很有用,但在许多情况下并不理想.我也在使用Resharper并且在那里找不到这样的设置.谢谢
所以我有这门课.我们称之为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的新手(仅使用它大约一周),我正在商店模拟器上工作.基本上我只是希望现在能够完成基本的事情,比如有一段时间直到关闭以及屏幕上显示打开变量的时间.
我在我的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) 在我的学习指南中,我接受了这个问题,以便进行测试.我不明白如何解决这个问题.我的测试是今天,我将不胜感激.
如果CPU每条指令发出一个内存请求,并且计算机以200 MIPS运行,那么使400-MHZ总线饱和需要多少CPU?假设存储器参考需要一个总线周期.现在,对于使用缓存并且缓存具有90%命中率的系统重复此问题.最后,需要什么缓存命中率才能让32个CPU共享总线而不会超载?
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),但我不确定.我正在研究练习题,我有以下选择:
我想创建一个GUI并通过代码执行它,而不是像Netbeans一样拖动所有内容.如果可能的话,我想设置我要插入的每个东西的坐标,因为它将为我提供我想要的精度.我已经尝试了GridBagLayout,并没有发现它是我喜欢的,但也许我不知道它知道该怎么做.也许MigLayout对我来说是一个不错的选择,但我想知道我需要什么更好的东西.
总结:我想制作一个GUI,我可以直接添加每个对象的特定坐标.我使用哪种布局?
我有一个持有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小号
下面是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 ×4
swing ×4
android ×3
c# ×2
timer ×2
adapter ×1
android-tabs ×1
autoresize ×1
big-o ×1
biginteger ×1
bus ×1
button ×1
cpu ×1
google-play ×1
hardware ×1
jframe ×1
jtextfield ×1
linq ×1
nested-loops ×1
octal ×1
resharper ×1
short ×1